The branch "master" has been updated in SBCL:
via fb35df18abde8fc88c521cf7a811f41914a82890 (commit)
from f932dd50116c948d1b19358e9b2821df7a4e7380 (commit)
- Log -----------------------------------------------------------------
commit fb35df18abde8fc88c521cf7a811f41914a82890
Author: Alastair Bridgewater <nyef@...>
Date: Tue Oct 23 13:47:27 2012 -0400
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.
---
package-data-list.lisp-expr | 2 +-
src/code/fop.lisp | 2 +-
src/code/symbol.lisp | 3 +--
src/compiler/alpha/alloc.lisp | 2 +-
src/compiler/alpha/system.lisp | 16 ----------------
src/compiler/hppa/alloc.lisp | 2 +-
src/compiler/hppa/system.lisp | 17 -----------------
src/compiler/ir2tran.lisp | 3 +--
src/compiler/mips/alloc.lisp | 2 +-
src/compiler/mips/system.lisp | 16 ----------------
src/compiler/ppc/alloc.lisp | 2 +-
src/compiler/ppc/system.lisp | 16 ----------------
src/compiler/sparc/alloc.lisp | 2 +-
src/compiler/sparc/system.lisp | 16 ----------------
src/compiler/x86-64/alloc.lisp | 2 +-
src/compiler/x86-64/system.lisp | 11 -----------
src/compiler/x86/alloc.lisp | 2 +-
src/compiler/x86/system.lisp | 11 -----------
tests/defglobal.impure.lisp | 2 +-
19 files changed, 12 insertions(+), 117 deletions(-)
diff --git a/package-data-list.lisp-expr b/package-data-list.lisp-expr
index ac8e63a..1a6ebf6 100644
--- a/package-data-list.lisp-expr
+++ b/package-data-list.lisp-expr
@@ -300,7 +300,7 @@ of SBCL which maintained the CMU-CL-style split into two packages.)"
"MAKE-CLOSURE" "MAKE-CONSTANT-TN"
"MAKE-FIXUP-NOTE"
"MAKE-LOAD-TIME-CONSTANT-TN" "MAKE-N-TNS" "MAKE-NORMAL-TN"
- "MAKE-OTHER-IMMEDIATE-TYPE" "MAKE-RANDOM-TN"
+ "MAKE-RANDOM-TN"
"MAKE-REPRESENTATION-TN" "MAKE-RESTRICTED-TN" "MAKE-SC-OFFSET"
"MAKE-STACK-POINTER-TN" "MAKE-TN-REF" "MAKE-UNWIND-BLOCK"
"MAKE-WIRED-TN" "MAYBE-COMPILER-NOTIFY"
diff --git a/src/code/fop.lisp b/src/code/fop.lisp
index ddf5ba7..b3863eb 100644
--- a/src/code/fop.lisp
+++ b/src/code/fop.lisp
@@ -145,7 +145,7 @@
#+sb-xc-host ; since xc host doesn't know how to compile %PRIMITIVE
(error "FOP-MISC-TRAP can't be defined without %PRIMITIVE.")
#-sb-xc-host
- (%primitive sb!c:make-other-immediate-type 0 sb!vm:unbound-marker-widetag))
+ (%primitive sb!c:make-unbound-marker))
(define-cloned-fops (fop-character 68) (fop-short-character 69)
(code-char (clone-arg)))
diff --git a/src/code/symbol.lisp b/src/code/symbol.lisp
index 7031776..7dcfe23 100644
--- a/src/code/symbol.lisp
+++ b/src/code/symbol.lisp
@@ -52,8 +52,7 @@ distinct from the global value. Can also be SETF."
(declaim (inline %makunbound))
(defun %makunbound (symbol)
- (%set-symbol-value symbol (%primitive sb!c:make-other-immediate-type
- 0 sb!vm:unbound-marker-widetag)))
+ (%set-symbol-value symbol (%primitive sb!c:make-unbound-marker)))
(defun makunbound (symbol)
#!+sb-doc
diff --git a/src/compiler/alpha/alloc.lisp b/src/compiler/alpha/alloc.lisp
index 96621a3..c88ecce 100644
--- a/src/compiler/alpha/alloc.lisp
+++ b/src/compiler/alpha/alloc.lisp
@@ -154,7 +154,7 @@
(define-vop (make-unbound-marker)
(:args)
- (:results (result :scs (any-reg)))
+ (:results (result :scs (descriptor-reg any-reg)))
(:generator 1
(inst li unbound-marker-widetag result)))
diff --git a/src/compiler/alpha/system.lisp b/src/compiler/alpha/system.lisp
index c051514..23e74b1 100644
--- a/src/compiler/alpha/system.lisp
+++ b/src/compiler/alpha/system.lisp
@@ -140,22 +14
|