1.0.29.33: fix compilation with QSHOW_SIGNAL_SAFE on win32
[sbcl.git] / src / code / pcounter.lisp
index 57a38f7..aee1cad 100644 (file)
@@ -3,38 +3,35 @@
 ;;;; a PCOUNTER is used to represent an unsigned integer quantity which
 ;;;; can grow bigger than a fixnum, but typically does so, if at all,
 ;;;; in many small steps, where we don't want to cons on every step.
-;;;; Such quantities typically arise in profiling, e.g. 
+;;;; Such quantities typically arise in profiling, e.g.
 ;;;; total system consing, time spent in a profiled function, and
 ;;;; bytes consed in a profiled function are all examples of such
 ;;;; quantities. The name is an abbreviation for "Profiling COUNTER".
 ;;;;
-;;;; It's not one of my more brilliant names, if you have a better
-;;;; suggestion, I might be interested. -- WHN 2001-06-22
+;;;; (This isn't one of my more brilliant names, so if you have a
+;;;; better suggestion, let me know. -- WHN 2001-06-22)
 
-(in-package "SB!IMPL")
+;;; This stuff is implemented in the SB!PROFILE because the profiling
+;;; code is currently the only code which wants to poke around in the
+;;; implementation details.
+(in-package "SB!PROFILE")
 \f
 ;;;; basic PCOUNTER stuff
 
-(/show0 "pcounter.lisp 16")
-
-(defstruct (pcounter (:copier nil))
-  (integer 0 :type unsigned-byte)
-  (fixnum 0 :type (and fixnum unsigned-byte)))
-
-(/show0 "pcounter.lisp 22")
+(/show0 "pcounter.lisp 21")
 
 (declaim (maybe-inline incf-pcounter))
 (defun incf-pcounter (pcounter delta)
   (aver (typep delta 'unsigned-byte))
   (let ((sum (+ (pcounter-fixnum pcounter) delta)))
     (cond ((typep sum 'fixnum)
-          (setf (pcounter-fixnum pcounter) sum))
-         (t
-          (incf (pcounter-integer pcounter) sum)
-          (setf (pcounter-fixnum pcounter) 0))))
+           (setf (pcounter-fixnum pcounter) sum))
+          (t
+           (incf (pcounter-integer pcounter) sum)
+           (setf (pcounter-fixnum pcounter) 0))))
   pcounter)
 
-(/show0 "pcounter.lisp 36")
+(/show0 "pcounter.lisp 34")
 
 ;;;(declaim (inline pcounter->integer)) ; FIXME: maybe inline when more stable
 (defun pcounter->integer (pcounter)
@@ -47,7 +44,7 @@
 ;;;; start with a FIXNUM counter and only create a PCOUNTER if the
 ;;;; FIXNUM overflows.
 
-(/show0 "pcounter.lisp 50")
+(/show0 "pcounter.lisp 47")
 
 (declaim (inline %incf-pcounter-or-fixnum))
 (defun %incf-pcounter-or-fixnum (x delta)
     (fixnum
      (let ((sum (+ x delta)))
        (if (typep sum 'fixnum)
-          sum
-          (make-pcounter :integer sum))))
+           sum
+           (make-pcounter :integer sum))))
     (pcounter
      (incf-pcounter x delta))))
-  
+
 (define-modify-macro incf-pcounter-or-fixnum (delta) %incf-pcounter-or-fixnum)
 
-(/show0 "pcounter.lisp 64")
+(/show0 "pcounter.lisp 62")
 
 ;;; Trade off space for execution time by handling the common fast
 ;;; (TYPEP DELTA 'FIXNUM) case inline and only calling generic
        (aver (typep ,delta-sym 'unsigned-byte))
        ;;(declare (type unsigned-byte ,delta-sym))
        (if (typep ,delta-sym 'fixnum)
-          (incf-pcounter-or-fixnum ,x ,delta)
-          (incf-pcounter-or-fixnum ,x ,delta)))))
+           (incf-pcounter-or-fixnum ,x ,delta)
+           (incf-pcounter-or-fixnum ,x ,delta)))))
 
-(/show0 "pcounter.lisp 80")
+(/show0 "pcounter.lisp 76")
 
 (declaim (maybe-inline pcounter-or-fixnum->integer))
 (defun pcounter-or-fixnum->integer (x)