From 0984975533a4f717e9cba39f1567b4181ee1539f Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Tue, 9 May 2006 13:12:23 +0000 Subject: [PATCH] More updates for disassemble of flet/labels functions. If the function is :external, don't return from the loop if it's an flet/labels function. That way, it gets disassembled. --- compiler/disassem.lisp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/compiler/disassem.lisp b/compiler/disassem.lisp index 0f05164e2..e72d63d4e 100644 --- a/compiler/disassem.lisp +++ b/compiler/disassem.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/disassem.lisp,v 1.51 2006/01/27 20:55:19 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/disassem.lisp,v 1.52 2006/05/09 13:12:23 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -3050,8 +3050,18 @@ (not first-block-seen-p)) (setf first-block-seen-p t)) ((eq kind :external) - (when first-block-seen-p - (return))) + (let* ((name (c::compiled-debug-function-name fmap-entry)) + (flet-p (and (list name) + (member (car name) '(flet labels))))) + ;; Don't return from loop if this external + ;; entry is an flet or labels entry. We + ;; want to continue the disassembly, if + ;; enabled. + (when (and first-block-seen-p + (if *disassemble-flets* + (not flet-p) + t)) + (return)))) ((eq kind nil) ;; FIXME: Why do we return when we have a nil ;; block and have already seen a nil block? -- GitLab