Jeff Clites <[EMAIL PROTECTED]> wrote:
> What does "restart" mean in op files, as in "restart ADDRESS(resume);"?

Restart opcodes set the resume_flag to 1, resume_offset to the next
opcode address and then leave the inner run-loop.
interpreter.c:runops_int() then restarts a possibly different run-loop
on the resume offset again.

This is done for changing run loops, e.g. to turn on tracing for some
piece of code.

> Also, why does the find_global op use it? I couldn't find it explained
> anywhere.

That's an left over experiment from early tests with throwing
exceptions. It isn't necessary anymore. An opcode that may throw a
restartable exception has to be a branch op though, so goto
ADDRESS(next) would be correct. I'll fix that - thanks for pointing me
at that.

> Also, on a vaguely related topic, in "Parrot_jit_cpcf_op", what does
> "cpcf" stand for?

Change Program Control Flow or such.

> JEff

leo

Reply via email to