Some changes to make calling primitives from compiled code cheaper:
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Fri, 4 Dec 1987 22:20:47 +0000 (22:20 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Fri, 4 Dec 1987 22:20:47 +0000 (22:20 +0000)
commit9fbe72d23cd44f7a234a19f3155e7d96d10f0cd8
tree3b20679be00ab692839aa51427ac1595c85482af
parente4df33da5a4ea8edf722c8358f4685fe5ab73f33
Some changes to make calling primitives from compiled code cheaper:

- Primitives back out in the interpreter, rather than directly.
- A table with the arity in bytes has been added to usrdef.c
- Primitive objects have two fields: a table index for invocation,
and a virtual number for bookkeeping purposes.  The table index is
always valid, even for unimplemented primitives.  In this case it
points to a procedure which causes an UNIMPLEMENTE-PRIMITIVE error
when invoked.  The back out mechanism takes care
30 files changed:
v7/src/microcode/bchdmp.c
v7/src/microcode/bchmmg.c
v7/src/microcode/bkpt.h
v7/src/microcode/boot.c
v7/src/microcode/const.h
v7/src/microcode/debug.c
v7/src/microcode/dmpwrld.c
v7/src/microcode/errors.h
v7/src/microcode/extern.c
v7/src/microcode/fasdump.c
v7/src/microcode/fasload.c
v7/src/microcode/findprim.c
v7/src/microcode/futures.h
v7/src/microcode/gc.h
v7/src/microcode/intercom.c
v7/src/microcode/interp.c
v7/src/microcode/interp.h
v7/src/microcode/memmag.c
v7/src/microcode/object.h
v7/src/microcode/prim.h
v7/src/microcode/prims.h
v7/src/microcode/primutl.c
v7/src/microcode/step.c
v7/src/microcode/storage.c
v7/src/microcode/utils.c
v7/src/microcode/version.h
v8/src/microcode/const.h
v8/src/microcode/interp.c
v8/src/microcode/object.h
v8/src/microcode/version.h