;; Make sure the backtrace isn't stunted in
;; any way. (Depends on running in the main
- ;; thread.)
- (let ((end (last backtrace 2)))
+ ;; thread.) FIXME: On Windows we get two
+ ;; extra foreign frames below regular frames.
+ (let ((end (last backtrace #-win32 2 #+win32 4)))
(unless (equal (caar end)
- (if *show-entry-point-details*
- '(sb-c::tl-xep sb-impl::toplevel-init)
- 'sb-impl::toplevel-init))
+ 'sb-impl::toplevel-init)
(print (list :backtrace-stunted (caar end)))
(setf result nil)))
(return-from outer-handler)))))
(list '(flet not-optimized))
(list '(flet test) #'not-optimized))))))
-;;; Division by zero was a common error on PPC. It depended on the
+;;; Division by zero was a common error on PPC. It depended on the
;;; return function either being before INTEGER-/-INTEGER in memory,
-;;; or more than MOST-POSITIVE-FIXNUM bytes ahead. It also depends on
-;;; INTEGER-/-INTEGER calling SIGNED-TRUNCATE. I believe Raymond Toy
+;;; or more than MOST-POSITIVE-FIXNUM bytes ahead. It also depends on
+;;; INTEGER-/-INTEGER calling SIGNED-TRUNCATE. I believe Raymond Toy
;;; says that the Sparc backend (at least for CMUCL) inlines this, so
;;; if SBCL does the same this test is probably not good for the
;;; Sparc.
(loop while (sb-thread:thread-alive-p thread)))
(disable-debugger)
+
+(write-line "/debug.impure.lisp done")