7 (defun test-0 (n &optional (depth 0))
8 (declare (optimize (debug 3)))
12 (test-0 n (1+ depth)))))
15 (sb-sprof:with-profiling (:reset t :max-samples 1000 :report :graph)
21 (push (make-array 10) junk))
24 (defun consing-test ()
25 ;; 0.0001 chosen so that it breaks rather reliably when sprof does not
26 ;; respect pseudo atomic.
27 (sb-sprof:with-profiling (:reset t :sample-interval 0.0001 :report :graph :loop nil)
28 (let ((target (+ (get-universal-time) 15)))
32 while (< (get-universal-time) target)
35 #-(or win32 darwin) ;not yet
37 #-(or win32 darwin) ;not yet
40 ;; For debugging purposes, print output for visual inspection to see if
41 ;; the allocation sequence gets hit in the right places (i.e. not at all
42 ;; in traditional builds, and everywhere if SB-SAFEPOINT-STRICTLY is
44 (disassemble #'consalot)