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.
