Coroutine is an primitive for Io's lightweight cooperative C-stack based threads.
Returns a formatted callStack output along with exception info (if any). In case of CGI script, wraps output with <code> tag.
Returns a list of Call objects.
Returns currently running coroutine in Io state.
Returns the current (topmost) EvalFrame of this coroutine, or nil if no frames are active. Only works for the currently executing coroutine.
See Object debugWriteln.
Returns the current exception or nil if there is none.
Frees all the internal data from the receiver's stack. Returns self.
The list of resumable exception handler entries for this coroutine, or nil.
List of methods to ignore when building a callStack.
Returns coroutine implementation type: "frame-based" (portable, no assembly)
Set to true when processing an exception in the coroutine.
Returns List of values on this coroutine's stack.
Returns true if the receiver is currently running coroutine.
Returns true if the receiver is yielding (not paused or running).
A label slot useful for debugging purposes.
[Seems to be obsolete!] Executes runMessage, resumes parent coroutine.
Returns the parent coroutine this one was chained from or nil if it wasn't chained. When a Coroutine ends, it will attempt to resume its parent.
Removes current coroutine from the yieldingCoros queue and
yields to another coro. System exit is executed if no coros left.
You can resume a coroutine using either resume or resumeLater message.
Pauses current coroutine and yields to a receiver.
Sets exception in the receiver and signals the eval loop to unwind.
Bridges an Io-level exception to the eval loop by setting errorRaised. Called by raiseException when there is no parent coroutine to resume. The exception should already be set on this coroutine via setException.
Returns the coroutine in the coro chain which was most recently run, so you can pause and resume coroutine based constructs like try and actors.
The result set when the coroutine ends.
Yields to the receiver. Runs the receiver if it is not running yet. Returns self.
Promotes receiver to the top of the yieldingCoros queue, but not yielding to it. When current coroutine yields, receiver will resume.
Pauses current coroutine and resumes parent.
Runs receiver and returns self.
The locals object in whose context the coroutine will send its run message.
The message to send to the runTarget when the coroutine starts.
The object which the coroutine will send a message to when it starts.
Set the inException status. Returns self.
Sets the comment label for the Coro. Return self.
Turns on message level debugging for this coro. When on, this coro will send a vmWillSendMessage message to the Debugger object before each message send and pause itself. See the Debugger object documentation for more information.
Sets the parent coroutine. Returns self.
Sets the most recently run coroutine of the chain. Sets all the recentInChain in a direct path up to the top of the coro chain starting at this coro. Returns self.
Sets the stack size in bytes to allocate for new Coros. Returns self.
Writes backTraceString to STDOUT.
Prints a list of yielding coroutines to STDOUT.
Stack size allocated for each new coroutine. Coroutines will automatically chain themselves as need if more stack space is required.
Returns
Yields to another coroutine in the yieldingCoros queue. Does nothing if yieldingCoros is empty.
Yields to a receiver.
Reference to Scheduler yieldingCoros.