NAME
src/pmc/continuation.pmc - Continuation PMC
DESCRIPTION
A Continuation
has a copy of the interpreter's context at the location where the Continuation was constructed.
See the Glossary for more information.
Functions
Methods
void init()
Initializes the continuation.
void mark()
Marks the continuation as live.
void destroy()
Destroys the continuation.
PMC *clone()
Creates and returns a clone of the continuation.
PMC *set_pmc()
Assign context.
void set_pointer(void *value)
Sets the pointer to the return instruction.
Also captures the descriptor address for any returned values.
void *get_pointer()
Returns the pointer to the return instruction.
INTVAL defined()
INTVAL get_bool()
Returns whether the subroutine is defined.
opcode_t *invoke(void *next)
Restores the context of the interpreter and returns the branch destination to continue execution.
STRING *get_string()
Experimental: return caller info as a STRING.
PMC *caller()
Experimental: return caller PMC or PMCNULL if none.
PMC *continuation()
Experimental: return continuation PMC of this Continuation or PMCNULL if none.
HISTORY
Initial revision by sean 2002/08/04.