From: Daniel B. <da...@te...> - 2003-10-16 11:53:01
|
RCS file: /cvsroot/sbcl/sbcl/src/compiler/debug-dump.lisp,v retrieving revision 1.32 diff -u -r1.32 debug-dump.lisp =2D-- debug-dump.lisp 15 Sep 2003 09:21:38 -0000 1.32 +++ debug-dump.lisp 16 Oct 2003 11:43:58 -0000 @@ -524,10 +524,11 @@ (setf (compiled-debug-fun-arguments dfun) (compute-args fun var-locs)))) =20 =2D (when (>=3D level 2) + (if (>=3D level 2) (multiple-value-bind (blocks tlf-num) (compute-debug-blocks fun var-= locs) (setf (compiled-debug-fun-tlf-number dfun) tlf-num) =2D (setf (compiled-debug-fun-blocks dfun) blocks))) + (setf (compiled-debug-fun-blocks dfun) blocks)) + (setf (compiled-debug-fun-tlf-number dfun) (find-tlf-number fun))) =20 (if (xep-p fun) (setf (compiled-debug-fun-returns dfun) :standard) Comments? tlf is the top-level form number - useful for any interface that wants to find sources for functions. As far as I can see there's no point in throwing this away: it takes just as much storage to hold '0' in that slot as it would for any other fixnum (and I think most files are going to be limited to 2^29 forms ...) It builds and passes tests with this change, but if anyone can see something I've overlooked as to why it shouldn't work, please say. =2Ddan =2D-=20 http://web.metacircles.com/cirCLe_CD - Free Software Lisp/Linux distro |