Store all assembler routines in one code object
commit7dd21702489f2672480975cc1ce5c1b9927ebf2e
authorDouglas Katzman <dougk@google.com>
Thu, 30 Nov 2017 19:47:49 +0000 (30 14:47 -0500)
committerDouglas Katzman <dougk@google.com>
Thu, 30 Nov 2017 20:13:17 +0000 (30 15:13 -0500)
tree53a56b3c7c963c2f073490f3ac025808909139be
parentbab4046024ffd3fbddcb3f05b38422a71a83c6d6
Store all assembler routines in one code object

* Remove :preload-file keyword from genesis, load all asm files up front.

* Resolve :assembly-routine fixups right away rather than deferring.

* Remove *assembler-routines* from static symbols, make its value
  the single code object rather than a hashtable.

* Hang the name->addr table off %code-debug-info for that object
  and store entry points as relative offsets, not addresses.

* Remove magic in coreparse to fix the hashtable on relocation.

* Eliminate potential confusion betweeen FIND-ASSEMBLER-ROUTINE and
  FIND-ASSEMBLY-ROUTINE by removing the latter.
17 files changed:
build-order.lisp-expr
make-genesis-2.lisp
package-data-list.lisp-expr
src/code/debug-int.lisp
src/code/dyncount.lisp
src/code/early-fasl.lisp
src/code/fop.lisp
src/code/foreign-load.lisp
src/code/immobile-space.lisp
src/code/target-load.lisp
src/compiler/dump.lisp
src/compiler/generic/core.lisp
src/compiler/generic/genesis.lisp
src/compiler/generic/parms.lisp
src/compiler/target-disassem.lisp
src/compiler/x86-64/target-insts.lisp
src/runtime/coreparse.c