Allow funcallable instances in immobile fixedobj space, part 2 of 2
commitb5f36fc1ebc6284d878ddc500d3ca3d21bcdae5e
authorDouglas Katzman <dougk@google.com>
Fri, 24 Feb 2017 02:27:32 +0000 (23 21:27 -0500)
committerDouglas Katzman <dougk@google.com>
Thu, 2 Mar 2017 03:36:29 +0000 (1 22:36 -0500)
treefd7a72885369684f0e5349df30152b7270133330
parent78f288a0a7b19aacc167d738643068caeb7edff3
Allow funcallable instances in immobile fixedobj space, part 2 of 2

* Make the primitive object contain boxed words followed by raw words.
  The raw words hold machine instructions comprising the trampoline
  which loads the fin-fun and jumps to it.

* Don't create a code-component that wraps the GF when installing it
  into an fdefn, since the GF looks simple.

* Enable static linkage (bypassing the FDEFN)

Other funcallable instances which are not PCL instances will still
cons a new trampoline when bound globally to a function name.
src/code/x86-64-vm.lisp
src/compiler/x86-64/alloc.lisp
src/compiler/x86-64/target-insts.lisp
src/pcl/braid.lisp
src/pcl/slots.lisp
src/pcl/wrapper.lisp
src/runtime/marknsweepgc.c
src/runtime/x86-64-arch.c