Make unsafe primitives back out of compiled code so that they don't
have to be treated specially by the compiler or the compiled code
interface. This allows UUO linking of primitives, and applying
primitives from compiled code without going to the interpreter.
"Unsafe" primitives must use the new macro
PRIMITIVE_CANONICALIZE_CONTEXT before they start manipulating the
interpreter's state.
This macro will allow them to proceed if they have been invoked from
the interpreter, or will cause them to back into the interpreter and
restart if they have been invoked from compiled code.
21 files changed: