Put symbol immobility (#+immobile-symbols) to some good.
commitec276a529dc2fd27f1154b03ea52704e5863127f
authorDouglas Katzman <dougk@google.com>
Tue, 31 Jan 2017 00:38:21 +0000 (30 19:38 -0500)
committerDouglas Katzman <dougk@google.com>
Tue, 31 Jan 2017 00:47:41 +0000 (30 19:47 -0500)
treece563921afd2c4e16f221243523dea0d936ef02d
parent8cc5145d304eae7a6b8e1f84a084ec730affff87
Put symbol immobility (#+immobile-symbols) to some good.

With it, all symbols are static from a codegen perspective.
The IF-EQ vop can avoid loading a symbol into a register.
Vops that do need to load can generally use an immediate machine operand.
17 files changed:
package-data-list.lisp-expr
src/code/cold-init.lisp
src/code/fop.lisp
src/code/x86-64-vm.lisp
src/compiler/dump.lisp
src/compiler/generic/core.lisp
src/compiler/generic/genesis.lisp
src/compiler/generic/objdef.lisp
src/compiler/generic/target-core.lisp
src/compiler/target-disassem.lisp
src/compiler/tn.lisp
src/compiler/x86-64/insts.lisp
src/compiler/x86-64/memory.lisp
src/compiler/x86-64/move.lisp
src/compiler/x86-64/pred.lisp
src/compiler/x86-64/vm.lisp
src/runtime/marknsweepgc.c