From: Nikodemus Siivola Date: Tue, 9 Mar 2010 09:57:29 +0000 (+0000) Subject: 1.0.36.16: allocation profiling for new threads X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=0adc5551b93e9c3ac86d584a28009633e4615c96;p=sbcl.git 1.0.36.16: allocation profiling for new threads Patch by: Leslie Polzer Fixes Launchpad bug #472499. --- diff --git a/NEWS b/NEWS index af7f21c..ee003e1 100644 --- a/NEWS +++ b/NEWS @@ -16,15 +16,17 @@ changes relative to sbcl-1.0.36: functions. (lp#524707) * bug fix: bogus style warnings from certain (SETF SLOT-VALUE) and WITH-SLOTS usages during compilation. - * bug fix: SB-C::CLASS-INFO now prints correctly (lp#514762) + * bug fix: SB-C::CLASS-INFO now prints correctly. (lp#514762) * enhancement: Can now build with ud2 instead of int3 as trap instruction on all x86oid platforms with :UD2-BREAKPOINTS target feature. * bug fix: Breakpoints now work when using ud2 instead of int3 as trap instruction (tested on x86oid linux with ud2-breakpoints). * bug fix: slam.sh now works on win32. - * bug fix: better differences of numeric types (lp#309124) + * bug fix: better differences of numeric types. (lp#309124) * bug fix: arrays declared intersection and union types can have their - upgraded element type derived (lp#316078) + upgraded element type derived. (lp#316078) + * bug fix: SB-SPROF allocation profiling for all threads failed to profile + threads started during profiling. (lp#472499) changes in sbcl-1.0.36 relative to sbcl-1.0.35: * new feature: SB-EXT:TYPEXPAND-1, SB-EXT:TYPEXPAND, and diff --git a/contrib/sb-sprof/sb-sprof.lisp b/contrib/sb-sprof/sb-sprof.lisp index 83a4f58..b7a9dcc 100644 --- a/contrib/sb-sprof/sb-sprof.lisp +++ b/contrib/sb-sprof/sb-sprof.lisp @@ -483,7 +483,7 @@ profiling") 'trace-start)) (incf (samples-index samples) 2)) -;;; List of thread currently profiled, or T for all threads. +;;; List of thread currently profiled, or :ALL for all threads. (defvar *profiled-threads* nil) (declaim (type (or list (member :all)) *profiled-threads*)) @@ -798,7 +798,7 @@ The following keyword args are recognized: (let ((alloc-signal (1- alloc-interval))) #+sb-thread (progn - (when (eq t threads) + (when (eq :all threads) ;; Set the value new threads inherit. (sb-thread::with-all-threads-lock (setf sb-thread::*default-alloc-signal* alloc-signal))) @@ -1259,7 +1259,9 @@ The following keyword args are recognized: Value of this function is a CALL-GRAPH object representing the resulting call-graph, or NIL if there are no samples (eg. right after -calling RESET.)" +calling RESET.) + +Profiling is stopped before the call graph is generated." (cond (*samples* (let ((graph (or call-graph (make-call-graph most-positive-fixnum)))) (ecase type diff --git a/version.lisp-expr b/version.lisp-expr index 6b2a19e..ab57175 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.36.15" +"1.0.36.16"