Default ctor.
Lock the context until the blocker is cleared
Double the current callstack size.
Double the current float locals stacks' size.
Double the current integer locals stacks' size.
Double the current object locals stacks' size.
Double the current string locals stacks' size.
Dump stacks info
Remove last state of the context
Register the current state of the context
Restore the last state of the context
Initialize the call stacks.
Initialize the local variable stacks.
Initialize the expression stacks.
Unlock the context from the blocker
The context will block until the blocker is cleared.
Callstack
Current callstack max depth.
Parent engine where the context is running.
Local variables
Current max local variable available.
Local variables: Access with Xlocals[XlocalsPos + variableIndex]
Expression stack.
Current expression stack top +//// Ditt
Local variables
Current max local variable available.
Local variables: Access with Xlocals[XlocalsPos + variableIndex]
Set when the context is in a select/case statement. Then, the context is not stopped by a blocking channel.
Kill state, unwind the call stack and call all registered deferred statements.
Set when the context is forced to yield by a blocking channel. Release only when the channel is ready.
An exception has been raised an is not caught.
Expression stack.
Current expression stack top +//// Ditt
Local variables
Current max local variable available.
Local variables: Access with Xlocals[XlocalsPos + variableIndex]
Expression stack.
Current expression stack top
Operation pointer.
When evaluating, a blocking jump to this position will occur instead of blocking.
Local variables
Current max local variable available.
Local variables: Access with Xlocals[XlocalsPos + variableIndex]
Expression stack.
Current expression stack top +//// Ditt
Stack frame pointer for the current function. Each function takes 2 integer: the return pc, and the local variable size.
Backup to restore stack state after select evaluation.
Coroutines are contexts that hold local data.