;;;; annotating IR1 for interpretation
(defstruct (lambda-eval-info (:constructor make-lambda-eval-info
;;;; annotating IR1 for interpretation
(defstruct (lambda-eval-info (:constructor make-lambda-eval-info
frame-size ; number of stack locations needed to hold locals
args-passed ; number of referenced arguments passed to lambda
entries ; a-list mapping entry nodes to stack locations
frame-size ; number of stack locations needed to hold locals
args-passed ; number of referenced arguments passed to lambda
entries ; a-list mapping entry nodes to stack locations
(print-unreadable-object (obj str :type t)))
(defstruct (entry-node-info (:constructor make-entry-node-info
(print-unreadable-object (obj str :type t)))
(defstruct (entry-node-info (:constructor make-entry-node-info
st-top ; stack top when we encounter the entry node
nlx-tag) ; tag to which to throw to get back entry node's context
(def!method print-object ((obj entry-node-info) str)
st-top ; stack top when we encounter the entry node
nlx-tag) ; tag to which to throw to get back entry node's context
(def!method print-object ((obj entry-node-info) str)