Package avail.interpreter.primitive.fibers

Types

Link copied to clipboard
object P_AttemptJoinFiber : Primitive

Primitive: If the fiber has already terminated, then answer right away; otherwise, record the current fiber as a joiner of the specified fiber, and attempt to park.

Link copied to clipboard
object P_CanRejectParse : Primitive

Primitive: Is the current able to reject an ongoing parse?

Link copied to clipboard
object P_CreateFiberHeritableAtom : Primitive

Primitive: Create a new atom with the given name that represents a heritablefiber variable.

Link copied to clipboard
object P_CreateFiberType : Primitive

Primitive: Create a fiber type whose result type is the specified type.

Link copied to clipboard
object P_CurrentFiber : Primitive

Primitive: Answer the currently running fiber.

Link copied to clipboard
object P_DelayedFork : Primitive

Primitive: Schedule a new fiber to execute the specified function with the supplied arguments. The fiber will begin running after at least the specified number of milliseconds have elapsed. Answer the new fiber.

Link copied to clipboard
object P_DelayedForkOrphan : Primitive

Primitive: Schedule a new fiber to execute the specified function with the supplied arguments. The fiber will begin running after at least the specified number of milliseconds have elapsed. Do not retain a reference to the new fiber; it is created as an orphan fiber.

Link copied to clipboard
object P_FiberName : Primitive

Primitive: Answer the name of the specified fiber.

Link copied to clipboard
object P_FiberResult : Primitive

Primitive: Answer the result of the specified fiber.

Link copied to clipboard
object P_FiberTypeResultType : Primitive

Primitive: Answer the result type of the specified fiber type.

Link copied to clipboard
object P_Fork : Primitive

Primitive: Fork a new fiber to execute the specified function with the supplied arguments. Answer the new fiber.

Link copied to clipboard
object P_ForkOrphan : Primitive

Primitive: Fork a new fiber to execute the specified function with the supplied arguments. Do not retain a reference to the new fiber; it is created as an orphan fiber.

Link copied to clipboard
object P_GetContinuationOfOtherFiber : Primitive

Primitive: Ask another fiber what it's doing. Fail if the fiber's continuation chain is empty (i.e., it is terminated).

Link copied to clipboard
object P_GetFiberPriority : Primitive

Primitive: Get the priority of a fiber.

Link copied to clipboard
object P_HasResult : Primitive

Primitive: Has the specified fiber produced a result yet?

Link copied to clipboard
object P_HasTerminated : Primitive

Primitive: Has the specified fiberterminated for some reason?

Link copied to clipboard
object P_IsFiberVariable : Primitive

Primitive: Does the name refer to a fiber-local variable?

Link copied to clipboard
object P_IsTerminationRequested : Primitive

Primitive: Has termination been requested for the current fiber? Answer the current value of the appropriate interrupt flag and simultaneously clear it.

Link copied to clipboard
object P_LookupFiberVariable : Primitive

Primitive: Lookup the given name (key) in the variables of the current fiber.

Link copied to clipboard
object P_ParkCurrentFiber : Primitive

Primitive: Attempt to acquire the permit associated with the currentfiber. If the permit is available, then consume it and return immediately. If the permit is not available, then park the current fiber. A fiber suspended in this fashion may be resumed only by calling P_UnparkFiber. A newly unparked fiber should always recheck the basis for its having parked, to see if it should park again. Low-level synchronization mechanisms may require the ability to spuriously unpark in order to ensure correctness.

Link copied to clipboard
object P_RemoveFiberVariable : Primitive

Primitive: Disassociate the given name (key) from the variables of the current fiber.

Link copied to clipboard
object P_RequestTermination : Primitive

Primitive: Request termination of the given fiber. If the fiber is currently parked or asleep, then unpark it.

Link copied to clipboard
object P_SetFiberName : Primitive

Primitive: Set the name of the specified fiber.

Link copied to clipboard
object P_SetFiberPriority : Primitive

Primitive: Set the priority of a fiber.

Link copied to clipboard
object P_SetFiberVariable : Primitive

Primitive: Associate the given value with the given name (key) in the variables of the current fiber.

Link copied to clipboard
object P_Sleep : Primitive

Primitive: Put the currentfiber to sleep for at least the specified number of milliseconds. If the sleep time is zero (0), then return immediately. If the sleep time is too big (i.e., greater than the maximum delay supported by the operating system), then sleep forever.

Link copied to clipboard
object P_TerminateCurrentFiber : Primitive

Primitive: Terminate the current fiber.

Link copied to clipboard
object P_UnparkFiber : Primitive

Primitive: Unpark the specified fiber. If the permit associated with the fiber is available, then simply continue. If the permit is not available, then restore the permit and schedule resumption of the fiber. A newly unparked fiber should always recheck the basis for its having parked, to see if it should park again. Low-level synchronization mechanisms may require the ability to spuriously unpark in order to ensure correctness.

Link copied to clipboard
object P_Yield : Primitive

Primitive: Yield the current fiber so that higher priority fibers and senior fibers can run.