X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fvmdef.lisp;h=0d0376820c29163127f463a4f22c23c76e63c7fc;hb=f865612b20955e92189b1e683203e12c8f08eb79;hp=1747e09c2692fe87d2839fe260681637157473ba;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/compiler/vmdef.lisp b/src/compiler/vmdef.lisp index 1747e09..0d03768 100644 --- a/src/compiler/vmdef.lisp +++ b/src/compiler/vmdef.lisp @@ -74,15 +74,15 @@ ;;;; primitive type definition -;;; Return the primitive type corresponding to the specified name, or die -;;; trying. +;;; Return the primitive type corresponding to the specified name, or +;;; die trying. (defun primitive-type-or-lose (name) (the primitive-type (or (gethash name *backend-primitive-type-names*) (error "~S is not a defined primitive type." name)))) -;;; Return true if SC is either one of Ptype's SC's, or one of those SC's -;;; alternate or constant SCs. +;;; Return true if SC is either one of PTYPE's SC's, or one of those +;;; SC's alternate or constant SCs. (defun sc-allowed-by-primitive-type (sc ptype) (declare (type sc sc) (type primitive-type ptype)) (let ((scn (sc-number sc))) @@ -96,7 +96,11 @@ ;;;; generation of emit functions -(defconstant max-vop-tn-refs 256) +(eval-when (:compile-toplevel :load-toplevel :execute) + ;; We need the EVAL-WHEN because %EMIT-GENERIC-VOP (below) + ;; uses #.MAX-VOP-TN-REFS, not just MAX-VOP-TN-REFS. + ;; -- AL 20010218 + (defconstant max-vop-tn-refs 256)) (defvar *vop-tn-refs* (make-array max-vop-tn-refs :initial-element nil)) (defvar *using-vop-tn-refs* nil) @@ -197,7 +201,7 @@ (flet ((convert (types more-types) (flet ((frob (x) (if (eq x '*) - 't + t (ecase (first x) (:or `(or ,@(mapcar #'(lambda (type) (type-specifier