X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fntrace.lisp;h=ce60ee6ca4255c7723741544425863b5bfc8f4f1;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=b6453870886e2bdbe0a4eae68373ed1a9e46b940;hpb=46c578f4cf21abde02e39a5da5a96dbd6653c4b8;p=sbcl.git diff --git a/src/code/ntrace.lisp b/src/code/ntrace.lisp index b645387..ce60ee6 100644 --- a/src/code/ntrace.lisp +++ b/src/code/ntrace.lisp @@ -127,14 +127,17 @@ (values (fdefinition x) t)))) (function x) (t (values (fdefinition x) t))) - (case (sb-kernel:widetag-of res) - (#.sb-vm:closure-header-widetag + (typecase res + (closure (values (sb-kernel:%closure-fun res) named-p :compiled-closure)) - (#.sb-vm:funcallable-instance-header-widetag + (funcallable-instance (values res named-p :funcallable-instance)) - (t (values res named-p :compiled))))) + ;; FIXME: What about SB!EVAL:INTERPRETED-FUNCTION -- it gets picked off + ;; by the FIN above, is that right? + (t + (values res named-p :compiled))))) ;;; When a function name is redefined, and we were tracing that name, ;;; then untrace the old definition and trace the new one.