From daf0a41203bc60a9c81c8052123a97ef328e23ec Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Tue, 15 Jan 2008 12:25:54 +0000 Subject: [PATCH] 1.0.13.36: better HAIRY-FUNCTION-ENTRY debug-names * 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 | 9 +++++++++ src/compiler/locall.lisp | 2 +- version.lisp-expr | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/compiler/ir1util.lisp b/src/compiler/ir1util.lisp index cba2914f7..f8091af27 100644 --- a/src/compiler/ir1util.lisp +++ b/src/compiler/ir1util.lisp @@ -1636,6 +1636,15 @@ 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) diff --git a/src/compiler/locall.lisp b/src/compiler/locall.lisp index d3eadd816..3faf635af 100644 --- a/src/compiler/locall.lisp +++ b/src/compiler/locall.lisp @@ -595,7 +595,7 @@ (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)) diff --git a/version.lisp-expr b/version.lisp-expr index 7017803ea..06ac8f73a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 2.11.4.GIT