X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fentry.lisp;h=d2ace4c7b2cdd42ce889132e4e9ad02d6ce4f28b;hb=19319c931fc1636835dbef71808cc10e252bcf45;hp=84956980708eb390042335fbd91f34e8f1052684;hpb=c2431e2d0d0222a3cf20cfdfa48201bdcc65cd76;p=sbcl.git diff --git a/src/compiler/entry.lisp b/src/compiler/entry.lisp index 8495698..d2ace4c 100644 --- a/src/compiler/entry.lisp +++ b/src/compiler/entry.lisp @@ -43,10 +43,20 @@ (setf (entry-info-offset info) (gen-label)) (setf (entry-info-name info) (leaf-debug-name internal-fun)) + (let ((doc (functional-documentation internal-fun)) + (xrefs (pack-xref-data (functional-xref internal-fun)))) + (setf (entry-info-info info) (if (and doc xrefs) + (cons doc xrefs) + (or doc xrefs)))) (when (policy bind (>= debug 1)) (let ((args (functional-arg-documentation internal-fun))) (aver (not (eq args :unspecified))) - (setf (entry-info-arguments info) args)) + ;; When the component is dumped, the arglists of the entry + ;; points will be dumped. If they contain values that need + ;; make-load-form processing then we need to do it now (bug + ;; 310132). + (setf (entry-info-arguments info) + (constant-value (find-constant args)))) (setf (entry-info-type info) (type-specifier (leaf-type internal-fun))))) (values))