X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fvmdef.lisp;h=5af6cd488683e1175b8b09f05c30db4557d08e93;hb=1394636aef3b85be4fb6ef4a5424115aa2022d99;hp=f9882beeb990644a41a36c82af88b7c3f9ea77a6;hpb=80304981972c91c1b3f3fca75f36dacf1fecf307;p=sbcl.git diff --git a/src/compiler/vmdef.lisp b/src/compiler/vmdef.lisp index f9882be..5af6cd4 100644 --- a/src/compiler/vmdef.lisp +++ b/src/compiler/vmdef.lisp @@ -31,9 +31,9 @@ (defun sc-number-or-lose (x) (the sc-number (sc-number (sc-or-lose x)))) -;;; Like the non-meta versions, but go for the meta-compile-time info. -;;; These should not be used after load time, since compiling the compiler -;;; changes the definitions. +;;; This is like the non-meta versions, except we go for the +;;; meta-compile-time info. These should not be used after load time, +;;; since compiling the compiler changes the definitions. (defun meta-sc-or-lose (x) (the sc (or (gethash x *backend-meta-sc-names*) @@ -45,7 +45,7 @@ (defun meta-sc-number-or-lose (x) (the sc-number (sc-number (meta-sc-or-lose x)))) -;;;; side-effect classes +;;;; side effect classes (def-boolean-attribute vop any) @@ -100,6 +100,8 @@ ;; We need the EVAL-WHEN because %EMIT-GENERIC-VOP (below) ;; uses #.MAX-VOP-TN-REFS, not just MAX-VOP-TN-REFS. ;; -- AL 20010218 + ;; + ;; See also the description of VOP-INFO-TARGETS. -- APD, 2002-01-30 (defconstant max-vop-tn-refs 256)) (defvar *vop-tn-refs* (make-array max-vop-tn-refs :initial-element nil)) @@ -152,6 +154,9 @@ (ash temp (- (1+ sc-bits)))) (make-restricted-tn nil (ash temp -1)))) (write-ref (reference-tn tn t))) + ;; KLUDGE: These formulas must be consistent with those in + ;; COMPUTE-REF-ORDERING, and this is currently + ;; maintained by hand. -- WHN 2002-01-30, paraphrasing APD (setf (aref refs index) (reference-tn tn nil)) (setf (aref refs (1+ index)) write-ref) (if prev