From: Juho Snellman <jsnell@us...> - 2006-11-14 04:00:11
Update of /cvsroot/sbcl/sbcl
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3728
Various improvements to SB-SPROF (more speed, reliability and
usability, less consing and source code).
* Do the pc -> debug-info mapping in the signal handler, rather
than just storing the PCs and waiting until REPORT is called.
* Remove huge swathes of code for adjusting the PCs after GCs
(I don't think this had actually worked in quite a while, anyway).
This removes the slowdowns for long profiling runs.
* Show samples from assembly routines in the report, rather than
just grouping them all under "no debug information".
* Clean up SB-C::TL-XEPs etc. from function names
* Add an UNWIND-PROTECT to ensure WITH-PROFILING always stops
* Make sigprof-handler mostly non-consing. (There's still a
few words of consing / signal handler invocation, but that happens
for all Lisp-side signal handlers).
For the last point, some core SBCL changes are also needed:
* Make a bunch of signal-context accessors inlineable to reduce
SAP to pointer conversions
* Restructure x86-call-context to always return SAPs in certain
return value positions, to allow the compiler to keep them
in registers. Rewrite recursion with a local function.
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.3079
retrieving revision 1.3080
diff -u -d -r1.3079 -r1.3080
--- version.lisp-expr 13 Nov 2006 16:03:29 -0000 1.3079
+++ version.lisp-expr 14 Nov 2006 03:59:52 -0000 1.3080
@@ -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".)