parrotcode: Parrot Interpreter | |
Contents | PMCs |
classes/parrotinterpreter.pmc - Parrot Interpreter
These are the vtable functions for the ParrotInterpreter base class
getinterp P0
set P1, P0[.IGLOBALS_*] # access interpreter globals
set I0, P0[x] # interpinfo I0, x
set I0, P0[-1] # get interpreter flags
set P0[-1], x # set flags on interpreter
# NOTE: this doesn't restart
static void clone_regs_interp(Parrot_Interp d, Parrot_Interp s, PMC *dest)
static int need_reg(Parrot_Interp s, int i, int i3)
clone_regs_thread()
. Currently commented out.static void clone_regs_thread(Parrot_Interp d, Parrot_Interp s, PMC *dest)
static void clone_regs(Parrot_Interp d, Parrot_Interp s, PMC *dest)
void clone_interpreter(PMC *dest, PMC *self)
static void create_interp(PMC *self, Parrot_Interp parent)
parent
.void class_init()
void init()
void init_pmc(PMC *parent)
*parent
.void set_pointer(void *value)
struct_val
to *value
.void *get_pointer()
struct_val
.INTVAL get_integer()
void *invoke(void *next)
PMC *get_pmc_keyed_int(INTVAL key)
key
.PMC *get_pmc_keyed_str(STRING *key)
key
can be: "sub" ... return Sub object of this subroutine
"continuation" ... return Continuation PMC
"pad" ... return scratchpad PMC for this sub
["<item>"; level ] ... same for caller <level>
"globals" ... return global stash
INTVAL get_integer_keyed_int(INTVAL key)
key
.void set_integer_keyed_int(INTVAL key, INTVAL val)
key
to val
.PMC *clone()
Parrot_clone()
and use freeze/thaw.INTVAL is_equal(PMC *val)
*val
.
|