X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fvop.lisp;h=d738a0ab4243bc175a69203ba4e4e7dd1fa72a24;hb=69d60b456b07a0256f08df0d02484f361ce5737c;hp=24efbcb42150140ecc8b836881edd879ca743e9d;hpb=a321f8b6489e837d4920856048cddc8aef34154b;p=sbcl.git diff --git a/src/compiler/vop.lisp b/src/compiler/vop.lisp index 24efbcb..d738a0a 100644 --- a/src/compiler/vop.lisp +++ b/src/compiler/vop.lisp @@ -215,13 +215,7 @@ ;; these TNs primitive type is only based on the proven type ;; information. (locs nil :type list) - #!+stack-grows-downward-not-upward (stack-pointer nil :type (or tn null))) -;; For upward growing stack start of stack block and start of object -;; differ only by lowtag. -#!-stack-grows-downward-not-upward -(defmacro ir2-lvar-stack-pointer (2lvar) - `(first (ir2-lvar-locs ,2lvar))) (defprinter (ir2-lvar) kind @@ -319,8 +313,9 @@ ;;; this case the slots aren't actually initialized until entry ;;; analysis runs. (defstruct (entry-info (:copier nil)) - ;; Does this function have a non-null closure environment? - (closure-p nil :type boolean) + ;; TN, containing closure (if needed) for this function in the home + ;; environment. + (closure-tn nil :type (or null tn)) ;; a label pointing to the entry vector for this function, or NIL ;; before ENTRY-ANALYZE runs (offset nil :type (or label null)) @@ -455,7 +450,7 @@ ;; on INFERIORS to find all the blocks. (blocks nil :type (or null cblock))) -(defprinter (cloop :conc-name LOOP-) +(defprinter (cloop :conc-name loop-) kind head tail