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 init_pmc(PMC *continuation)Initializes the continuation with values from the provided continuation.
- void mark()Marks the continuation as live.
- PMC * get_attr_str(STRING *attr)Get the value of an attribute by name
- PMC *clone()Creates and returns a clone of the continuation.
- PMC *set_pmc()Assigns context.
- void set_pointer(void *value)Sets the pointer to the given return instruction and captures the runloop id 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: returns caller info as a STRING.
- INTVAL rid()Experimental: return the runloop_id value.
- PMC *caller()Experimental: return callers PMC or PMCNULL if none.
- PMC *continuation()Experimental: fetches the return continuation PMC of this Continuation or PMCNULL if none.
