Make unsafe primitives back out of compiled code so that they don't
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Wed, 31 May 1989 01:51:15 +0000 (01:51 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Wed, 31 May 1989 01:51:15 +0000 (01:51 +0000)
commitcef3274e344af69c9b6001a2814657856552c7c9
tree5a7dfba8f32249450284fb4049a960e6b8a43602
parent6e852188509074285c8087f943c8b4cd18c5c8bf
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:
v7/src/microcode/bchmmg.c
v7/src/microcode/bchpur.c
v7/src/microcode/const.h
v7/src/microcode/dmpwrld.c
v7/src/microcode/fasload.c
v7/src/microcode/fhooks.c
v7/src/microcode/futures.h
v7/src/microcode/hooks.c
v7/src/microcode/intercom.c
v7/src/microcode/interp.c
v7/src/microcode/lookup.h
v7/src/microcode/memmag.c
v7/src/microcode/prims.h
v7/src/microcode/purify.c
v7/src/microcode/step.c
v7/src/microcode/utils.c
v7/src/microcode/version.h
v8/src/microcode/const.h
v8/src/microcode/interp.c
v8/src/microcode/lookup.h
v8/src/microcode/version.h