1.0.13.36: better HAIRY-FUNCTION-ENTRY debug-names
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 15 Jan 2008 12:25:54 +0000 (12:25 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 15 Jan 2008 12:25:54 +0000 (12:25 +0000)
 * Instead of LVAR-FUN-NAME, use new LVAR-FUN-DEBUG-NAME, which works
   even for multiply-used lvars, by returning the list of names
   instead of just NIL.

src/compiler/ir1util.lisp
src/compiler/locall.lisp
version.lisp-expr

index cba2914..f8091af 100644 (file)
               nil))
         nil)))
 
+(defun lvar-fun-debug-name (lvar)
+  (declare (type lvar lvar))
+  (let ((uses (lvar-uses lvar)))
+    (flet ((name1 (use)
+             (leaf-debug-name (ref-leaf use))))
+      (if (ref-p uses)
+        (name1 uses)
+        (mapcar #'name1 uses)))))
+
 ;;; Return the source name of a combination. (This is an idiom
 ;;; which was used in CMU CL. I gather it always works. -- WHN)
 (defun combination-fun-source-name (combination)
index d3eadd8..3faf635 100644 (file)
                (declare (ignorable ,@ignores))
                (%funcall ,entry ,@args))
             :debug-name (debug-name 'hairy-function-entry
-                                    (lvar-fun-name
+                                    (lvar-fun-debug-name
                                      (basic-combination-fun call)))))))
     (convert-call ref call new-fun)
     (dolist (ref (leaf-refs entry))
index 7017803..06ac8f7 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.13.35"
+"1.0.13.36"