| parrotcode: Run Loops | |
| Contents | C |

src/runops_cores.c - Run Loops

This file implements the various run loops for the interpreter.
A slow one with bounds checking,
tracing and (optional) profiling,
and a fast one without.
There's also one which uses computed goto,
which enables the faster dispatch of operations.

opcode_t *runops_fast_core(Interp *interpreter, opcode_t *pc)pc until there are no more operations.opcode_t *runops_cgoto_core(Interp *interpreter, opcode_t *pc)pc until there are no more operations,
using the computed goto core.goto is not available then Parrot exits with exit code 1.opcode_t *runops_slow_core(Interp *interpreter, opcode_t *pc)pc until there are no more operations,
with tracing and bounds checking enabled.extern interpreter for tracing is currently broken because Parrot_destroy() fails to cleanup of ctx correctly.opcode_t *runops_profile_core(Interp *interpreter, opcode_t *pc)pc until there are no more operations,
with tracing,
bounds checking and profiling enabled.
include/parrot/runops_cores.h.
|
|
|