;; 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
;;; 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))
;; 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