Package avail.interpreter.primitive.variables

Types

Link copied to clipboard
object P_AddWriteReactor : Primitive

Primitive: Add a write reactor to the specified variable. The supplied key may be used subsequently to remove the write reactor.

Link copied to clipboard
object P_AtomicAddToMap : Primitive

Primitive: Atomically read and update the map in the specified variable by adding the given key and value.

Link copied to clipboard
object P_AtomicCompareAndSwap : Primitive

Primitive: Atomically read and conditionally overwrite the specified variable. The overwrite occurs only if the value read from the variable equals the reference value.

Link copied to clipboard
object P_AtomicFetchAndAdd : Primitive

Primitive: Atomically read and update the specified variable by the specified amount.

Link copied to clipboard
object P_AtomicGetAndSet : Primitive

Primitive: Atomically read and overwrite the specified variable.

Link copied to clipboard
object P_AtomicRemoveFromMap : Primitive

Primitive: Atomically read and update the map in the specified variable by removing the given key, if present. If not present, this has no effect.

Link copied to clipboard
object P_ClearValue : Primitive

Primitive: Clear the variable.

Link copied to clipboard
object P_CreateInitializedVariable : Primitive

Primitive: Create a variable with the given inner type. Also initialize it with the given value. Answer the variable.

Link copied to clipboard
object P_CreateReadWriteVariableType : Primitive

Primitive: Answer a variable type with the specified read and write types.

Link copied to clipboard
object P_CreateVariable : Primitive

Primitive: Create a variable with the given inner type.

Link copied to clipboard
object P_CreateVariableType : Primitive

Primitive: Create a variable type using the given inner type.

Link copied to clipboard
object P_DisableTraceVariableReadsBeforeWrites : Primitive

Primitive: Disable variable read-before-write tracing for the current fiber. To each variable that survived tracing, add a write reactor that wraps the specified function, associating it with the specified atom (for potential pre-activation removal).

Link copied to clipboard
object P_DisableTraceVariableWrites : Primitive

Primitive: Disable variable write tracing for the current fiber. For each variable that survived tracing, accumulate the variable's write reactorfunctions into a set. Clear the write reactors for each variable written. Answer the set of functions.

Link copied to clipboard
object P_GetClearing : Primitive

Primitive: Get the value of the variable, clear the variable, then answer the previously extracted value. This operation allows store-back patterns to be efficiently implemented in Level One code while keeping the interpreter itself thread-safe and debugger-safe.

Link copied to clipboard
object P_GetValue : Primitive

Primitive: There are two possibilities. The variable is mutable, in which case we want to destroy it, or the variable is immutable, in which case we want to make sure the extracted value becomes immutable (in case the variable is being held onto by something). Since the primitive invocation code is going to erase it if it's mutable anyhow, only the second case requires any real work.

Link copied to clipboard
object P_HasNoValue : Primitive

Primitive: Answer true if the variable is unassigned (has no value).

Link copied to clipboard
object P_KeyInVariableMap : Primitive

Primitive: Test whether the map in the specified variable has the given key.

Link copied to clipboard
object P_RemoveWriteReactor : Primitive

Primitive: Remove the write reactor associated with the specified key.

Link copied to clipboard
object P_SetValue : Primitive

Primitive: Assign the value to the variable.

Link copied to clipboard
object P_Swap : Primitive

Primitive: Swap the contents of two variables.

Link copied to clipboard
object P_TraceVariableReadsBeforeWrites : Primitive

Primitive: Enable variable read-before-write tracing for the current fiber.

Link copied to clipboard
object P_TraceVariableWrites : Primitive

Primitive: Enable variable write tracing for the current fiber.

Link copied to clipboard
object P_VariableReadType : Primitive

Primitive: Extract the read type of a variable type.

Link copied to clipboard
object P_VariableWriteType : Primitive

Primitive: Extract the write type of a variable type.