X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fcompiler%2Fnode.lisp;h=ed0676e5c81bf095cf96730a1236763df9e02bb0;hb=e3db13cb780f1d5ac5a03608489d9d68134afc44;hp=3c96b070ab8db9ef3c0aa9f5073063ea0775d96f;hpb=0c8643845555805048f50c783e118762e2c43a26;p=sbcl.git diff --git a/src/compiler/node.lisp b/src/compiler/node.lisp index 3c96b07..ed0676e 100644 --- a/src/compiler/node.lisp +++ b/src/compiler/node.lisp @@ -624,11 +624,12 @@ ;; :DECLARED, from a declaration. ;; :ASSUMED, from uses of the object. ;; :DEFINED, from examination of the definition. + ;; :DEFINED-METHOD, implicit, piecemeal declarations from CLOS. ;; FIXME: This should be a named type. (LEAF-WHERE-FROM? Or ;; perhaps just WHERE-FROM, since it's not just used in LEAF, ;; but also in various DEFINE-INFO-TYPEs in globaldb.lisp, ;; and very likely elsewhere too.) - (where-from :assumed :type (member :declared :assumed :defined)) + (where-from :assumed :type (member :declared :assumed :defined :defined-method)) ;; list of the REF nodes for this leaf (refs () :type list) ;; true if there was ever a REF or SET node for this leaf. This may @@ -971,7 +972,11 @@ ;; list of embedded lambdas (children nil :type list) (parent nil :type (or clambda null)) - (allow-instrumenting *allow-instrumenting* :type boolean)) + (allow-instrumenting *allow-instrumenting* :type boolean) + ;; True if this is a system introduced lambda: it may contain user code, but + ;; the lambda itself is not, and the bindings introduced by it are considered + ;; transparent by the nested DX analysis. + (system-lambda-p nil :type boolean)) (defprinter (clambda :conc-name lambda- :identity t) %source-name %debug-name