X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Ftype-vops.lisp;h=887cc23456c71e75e41e0eff1688dd432f1954d5;hb=667ec9d494530079bef28e8589dd0d3274b935ec;hp=15288b92d69477365a32cece6843c65ab18b116e;hpb=dec94b039e8ec90baf21463df839a6181de606f6;p=sbcl.git diff --git a/src/compiler/alpha/type-vops.lisp b/src/compiler/alpha/type-vops.lisp index 15288b9..887cc23 100644 --- a/src/compiler/alpha/type-vops.lisp +++ b/src/compiler/alpha/type-vops.lisp @@ -15,13 +15,13 @@ (eval-when (:compile-toplevel :execute) -(defparameter immediate-types +(defparameter *immediate-types* (list unbound-marker-type base-char-type)) -(defparameter function-header-types +(defparameter *function-header-types* (list funcallable-instance-header-type - byte-code-function-type byte-code-closure-type - function-header-type closure-function-header-type + function-header-type + closure-function-header-type closure-header-type)) (defun canonicalize-headers (headers) @@ -56,10 +56,10 @@ t)) (lowtags (remove lowtag-limit type-codes :test #'<)) (extended (remove lowtag-limit type-codes :test #'>)) - (immediates (intersection extended immediate-types :test #'eql)) - (headers (set-difference extended immediate-types :test #'eql)) - (function-p (if (intersection headers function-header-types) - (if (subsetp headers function-header-types) + (immediates (intersection extended *immediate-types* :test #'eql)) + (headers (set-difference extended *immediate-types* :test #'eql)) + (function-p (if (intersection headers *function-header-types*) + (if (subsetp headers *function-header-types*) t (error "Can't test for mix of function subtypes ~ and normal header types."))