X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fdebug-dump.lisp;h=35929ccb82bc5b11f71a3f747ddec80ac83171e1;hb=a8419eb994f3b59b70cfa12e1004711a830a43fa;hp=2b3d6048f1a977dfa643d9672ae2a658f6acc621;hpb=c2404a2f430ecf57897a795202625dff4764c18d;p=sbcl.git diff --git a/src/compiler/debug-dump.lisp b/src/compiler/debug-dump.lisp index 2b3d604..35929cc 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 @@ -541,8 +538,9 @@ (level (if #!+sb-dyncount *collect-dynamic-statistics* #!-sb-dyncount nil (max actual-level 2) - actual-level))) - (cond ((zerop level)) + actual-level)) + (toplevel-p (eq :toplevel (compiled-debug-fun-kind dfun)))) + (cond ((or (zerop level) toplevel-p)) ((and (<= level 1) (let ((od (lambda-optional-dispatch fun))) (or (not od) @@ -556,7 +554,7 @@ (setf (compiled-debug-fun-arguments dfun) (compute-args fun var-locs)))) - (if (>= level 2) + (if (and (>= level 2) (not toplevel-p)) (multiple-value-bind (blocks tlf-num) (compute-debug-blocks fun var-locs) (setf (compiled-debug-fun-tlf-number dfun) tlf-num)