src/pmc/eval.pmc - Dynamic code evaluation


Eval extends Closure to provide eval-like dynamic code evaluation and execution.

Methods ^

opcode_t *invoke(void *next)

Invokes the first subroutine in the eval code.

STRING *get_string

Get a STRING representing the bytecode for this code segment, suitable for writing to disc and later loading via load_bytecode.

PMC *get_pmc_keyed_int(INTVAL key)

Returns the Sub PMC of the element at index key or PMCNULL.

void freeze(visit_info *info)

Archives the evaled code

void thaw(visit_info *info)

Unarchives the code.


Initial version by leo 2003/01/16.