NAME ^

src/runops_cores.c - Run Loops

DESCRIPTION ^

This file implements the various run loops for the interpreter. See docs/running.pod for a fuller description of the runcores and what they do.

Functions ^

opcode_t *runops_fast_core

Runs the Parrot operations starting at pc until there are no more operations. This performs no bounds checking, profiling, or tracing.

opcode_t *runops_cgoto_core

Runs the Parrot operations starting at pc until there are no more operations, using the computed goto core, performing no bounds checking, profiling, or tracing.

If computed goto is not available then Parrot exits with exit code 1.

static opcode_t *runops_trace_core

Runs the Parrot operations starting at pc until there are no more operations, using the tracing interpreter.

opcode_t *runops_slow_core

Runs the Parrot operations starting at pc until there are no more operations, with tracing and bounds checking enabled.

opcode_t *runops_gc_debug_core

Runs the Parrot operations starting at pc until there are no more operations, performing a full GC run before each op. This is very slow, but it's also a very quick way to find GC problems.

opcode_t *runops_profile_core

Runs the Parrot operations starting at pc until there are no more operations, with tracing, bounds checking, and profiling enabled.

opcode_t *runops_debugger_core

Used by the debugger, under construction

*/

/* * Local variables: * c-file-style: "parrot" * End: * vim: expandtab shiftwidth=4: */


parrot