| 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.void visit(visit_info *info)*info is the visit info, (see include/parrot/pmc_freeze.h).void freeze(visit_info *info)void thaw(visit_info *info)void thawfinish(visit_info *info)
|
|
|