Matt S Trout > Rakudo-Star-2012.08_001 > src/pmc/continuation.pmc

Download:
Rakudo-Star-2012.08_001.tar.gz

Annotate this POD

Source  

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.

syntax highlighting: