Thou shalt not MAKE-OTHER-IMMEDIATE-TYPE.
authorAlastair Bridgewater <nyef@kana.lisphacker.com>
Tue, 23 Oct 2012 17:47:27 +0000 (13:47 -0400)
committerAlastair Bridgewater <nyef@kana.lisphacker.com>
Thu, 8 Nov 2012 23:30:44 +0000 (18:30 -0500)
commitfb35df18abde8fc88c521cf7a811f41914a82890
tree0b6ea17be1c0fb67c1be5308e99cfaf8e6c73e1b
parentf932dd50116c948d1b19358e9b2821df7a4e7380
Thou shalt not MAKE-OTHER-IMMEDIATE-TYPE.

  * Really, it's only ever used to make unbound-markers, for which
we have MAKE-UNBOUND-MARKER, which produces more optimal code in
the first place, has a shorter invocation, and reveals intention
far better than using MAKE-OTHER-IMMEDIATE-TYPE.

  * Rewrite all uses of MAKE-OTHER-IMMEDIATE-TYPE, excise the VOPs
from all of the backends, and remove the symbol name from package-
data.

  * And add DESCRIPTOR-REG to the permitted SCs for
MAKE-UNBOUND-MARKER, since it now must be legal to use a TN of
primitive-type T.
19 files changed:
package-data-list.lisp-expr
src/code/fop.lisp
src/code/symbol.lisp
src/compiler/alpha/alloc.lisp
src/compiler/alpha/system.lisp
src/compiler/hppa/alloc.lisp
src/compiler/hppa/system.lisp
src/compiler/ir2tran.lisp
src/compiler/mips/alloc.lisp
src/compiler/mips/system.lisp
src/compiler/ppc/alloc.lisp
src/compiler/ppc/system.lisp
src/compiler/sparc/alloc.lisp
src/compiler/sparc/system.lisp
src/compiler/x86-64/alloc.lisp
src/compiler/x86-64/system.lisp
src/compiler/x86/alloc.lisp
src/compiler/x86/system.lisp
tests/defglobal.impure.lisp