NAME ^

src/inter_run.c - Parrot Interpreter - Run Ops and Methods

DESCRIPTION ^

Various functions that call the run loop.

Functions ^

void runops

Run parrot ops. Set exception handler and/or resume after exception.

parrot_context_t *Parrot_runops_fromc

Runs the Parrot ops, called from C code. The function arguments are already setup according to Parrot calling conventions, the sub argument is an invocable Sub PMC.

static parrot_context_t *runops_args

RT#48260: Not yet documented!!!

void *Parrot_run_meth_fromc

Run a method sub from C. The function arguments are already setup according to Parrot calling conventions, the sub argument is an invocable Sub PMC.

If registers a PMC return values, it is returned.

PMC *Parrot_runops_fromc_args

Run parrot ops, called from C code, function arguments are passed as va_args according to the signature. The sub argument is an invocable Sub PMC.

Signatures are similar to NCI:

    v ... void return
    I ... INTVAL (not Interpreter)
    N ... NUMVAL
    S ... STRING*
    P ... PMC*
void *Parrot_runops_fromc_args_event

Run code from within event handlers. This variant deals with some reentrency issues. It also should do sanity checks, if e.g. the handler subroutine didn't return properly.

INTVAL Parrot_runops_fromc_args_reti

RT#48260: Not yet documented!!!

FLOATVAL Parrot_runops_fromc_args_retf

RT#48260: Not yet documented!!!

void *Parrot_run_meth_fromc_args

RT#48260: Not yet documented!!!

INTVAL Parrot_run_meth_fromc_args_reti

RT#48260: Not yet documented!!!

FLOATVAL Parrot_run_meth_fromc_args_retf

RT#48260: Not yet documented!!!

void *Parrot_runops_fromc_arglist

RT#48260: Not yet documented!!!

INTVAL Parrot_runops_fromc_arglist_reti

RT#48260: Not yet documented!!!

FLOATVAL Parrot_runops_fromc_arglist_retf

RT#48260: Not yet documented!!!

void *Parrot_run_meth_fromc_arglist

RT#48260: Not yet documented!!!

INTVAL Parrot_run_meth_fromc_arglist_reti

RT#48260: Not yet documented!!!

FLOATVAL Parrot_run_meth_fromc_arglist_retf

RT#48260: Not yet documented!!!

Helper Functions ^

void new_runloop_jump_point

Create a new runloop jump point, either by allocating it or by getting one from the free list.

void free_runloop_jump_point

Place runloop jump point back on the free list.

void destroy_runloop_jump_points

Destroys (and frees the memory of) the runloop jump point list and the associated free list for the specified interpreter.

void really_destroy_runloop_jump_points

Takes a pointer to a runloop jump point (which had better be the last one in the list). Walks back through the list, freeing the memory of each one, until it encounters NULL. Used by destroy_runloop_jump_points.

SEE ALSO ^

include/parrot/interpreter.h, src/interpreter.c.


parrot