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.
|