X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fdebug-dump.lisp;h=f6db341b7e8c2a7ed7121a22ec3e2a446c983586;hb=43c6634142a96e1d1bab2efe1a39cd8234903c41;hp=6633b3fa9ce6d690ec7c034d8ce215ea9ffc44b7;hpb=e8011f7c83587a9dc1b13281d0cc974bb0b054be;p=sbcl.git diff --git a/src/compiler/debug-dump.lisp b/src/compiler/debug-dump.lisp index 6633b3f..f6db341 100644 --- a/src/compiler/debug-dump.lisp +++ b/src/compiler/debug-dump.lisp @@ -268,10 +268,7 @@ :form (let ((direct-file-info (source-info-file-info info))) (when (eq :lisp (file-info-name direct-file-info)) - (let ((form (elt (file-info-forms direct-file-info) 0))) - ;; The form COMPILE saves may include gunk - ;; from %SIMPLE-EVAL -- this gets rid of that. - (sb!impl::eval-lambda-source-lambda form)))) + (elt (file-info-forms direct-file-info) 0))) :function function))) ;;; Given an arbitrary sequence, coerce it to an unsigned vector if @@ -352,7 +349,8 @@ (let* ((name (leaf-debug-name var)) (save-tn (and tn (tn-save-tn tn))) (kind (and tn (tn-kind tn))) - (flags 0)) + (flags 0) + (info (lambda-var-arg-info var))) (declare (type index flags)) (when minimal (setq flags (logior flags compiled-debug-var-minimal-p)) @@ -369,6 +367,12 @@ (setq flags (logior flags compiled-debug-var-save-loc-p))) (unless (or (zerop id) minimal) (setq flags (logior flags compiled-debug-var-id-p))) + (when info + (case (arg-info-kind info) + (:more-context + (setq flags (logior flags compiled-debug-var-more-context-p))) + (:more-count + (setq flags (logior flags compiled-debug-var-more-count-p))))) (vector-push-extend flags buffer) (unless minimal (vector-push-extend name buffer)