X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fnode.lisp;h=5c9d61755d6f3d27b99929ca842c81fe14005f26;hb=fae139755a81c0431e7f12f2af9b5f3abc1326dc;hp=2a7aaf11ef9640b00d07e44f8e3157f0959218d7;hpb=460003761254b8f06a88868301f597a5cb0cca94;p=sbcl.git diff --git a/src/compiler/node.lisp b/src/compiler/node.lisp index 2a7aaf1..5c9d617 100644 --- a/src/compiler/node.lisp +++ b/src/compiler/node.lisp @@ -455,7 +455,9 @@ ;; For :DYNAMIC-EXTENT: a list of all DX LVARs, preserved by this ;; cleanup. This is filled when the cleanup is created (now by ;; locall call analysis) and is rechecked by physical environment - ;; analysis. + ;; analysis. (For closures this is a list of the allocating node - + ;; during IR1, and a list of the argument LVAR of the allocator - + ;; after physical environment analysis.) (info nil :type list)) (defprinter (cleanup :identity t) kind @@ -857,6 +859,9 @@ ;; the original function or macro lambda list, or :UNSPECIFIED if ;; this is a compiler created function (arg-documentation nil :type (or list (member :unspecified))) + ;; Node, allocating closure for this lambda. May be NIL when we are + ;; sure that no closure is needed. + (allocator nil :type (or null combination)) ;; various rare miscellaneous info that drives code generation & stuff (plist () :type list)) (defprinter (functional :identity t)