X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fnode.lisp;h=852199e4a7816e722ea00441dd5a46ac85d36ad0;hb=1e1ba5d5b43e20a4c0b157f08d4c85fe880c7e25;hp=c8ac71e6f2a9b319ea415e411604f9a23b7e41ed;hpb=e8011f7c83587a9dc1b13281d0cc974bb0b054be;p=sbcl.git diff --git a/src/compiler/node.lisp b/src/compiler/node.lisp index c8ac71e..852199e 100644 --- a/src/compiler/node.lisp +++ b/src/compiler/node.lisp @@ -676,7 +676,9 @@ (where-from :defined))) (:include leaf)) ;; the value of the constant - (value (missing-arg) :type t)) + (value (missing-arg) :type t) + ;; Boxed TN for this constant, if any. + (boxed-tn nil :type (or null tn))) (defprinter (constant :identity t) value) @@ -1140,6 +1142,14 @@ ;; determine that this is a set closure variable, and is thus not a ;; good subject for flow analysis. (constraints nil :type (or null t #| FIXME: conset |#)) + ;; Content-addressed indices for the CONSTRAINTs on this variable. + ;; These are solely used by FIND-CONSTRAINT + (ctype-constraints nil :type (or null hash-table)) + (eq-constraints nil :type (or null hash-table)) + ;; sorted sets of constraints we like to iterate over + (eql-var-constraints nil :type (or null (array t 1))) + (inheritable-constraints nil :type (or null (array t 1))) + (private-constraints nil :type (or null (array t 1))) ;; Initial type of a LET variable as last seen by PROPAGATE-FROM-SETS. (last-initial-type *universal-type* :type ctype) ;; The FOP handle of the lexical variable represented by LAMBDA-VAR