From abfd7c2c9d4882e05a2e9953baf87f8e02a6a1af Mon Sep 17 00:00:00 2001 From: Thiemo Seufer Date: Sat, 1 Sep 2007 14:22:40 +0000 Subject: [PATCH] 1.0.9.18: Instrument COMPUTE-CALLING-FRAME for non-x86 with /noshow0. --- src/code/debug-int.lisp | 9 +++++++++ version.lisp-expr | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/code/debug-int.lisp b/src/code/debug-int.lisp index c7a07a470..c714d28cb 100644 --- a/src/code/debug-int.lisp +++ b/src/code/debug-int.lisp @@ -780,7 +780,9 @@ #!-(or x86 x86-64) (defun compute-calling-frame (caller lra up-frame) (declare (type system-area-pointer caller)) + (/noshow0 "entering COMPUTE-CALLING-FRAME") (when (control-stack-pointer-valid-p caller) + (/noshow0 "in WHEN") (multiple-value-bind (code pc-offset escaped) (if lra (multiple-value-bind (word-offset code) @@ -816,6 +818,7 @@ "bogus stack frame")) (t (debug-fun-from-pc code pc-offset))))) + (/noshow0 "returning MAKE-COMPILED-FRAME from COMPUTE-CALLING-FRAME") (make-compiled-frame caller up-frame d-fun (code-location-from-pc d-fun pc-offset escaped) @@ -915,13 +918,18 @@ #!-(or x86 x86-64) (defun find-escaped-frame (frame-pointer) (declare (type system-area-pointer frame-pointer)) + (/noshow0 "entering FIND-ESCAPED-FRAME") (dotimes (index *free-interrupt-context-index* (values nil 0 nil)) + (/noshow0 "at head of WITH-ALIEN") (let ((scp (nth-interrupt-context index))) + (/noshow0 "got SCP") (when (= (sap-int frame-pointer) (sb!vm:context-register scp sb!vm::cfp-offset)) (without-gcing + (/noshow0 "in WITHOUT-GCING") (let ((code (code-object-from-bits (sb!vm:context-register scp sb!vm::code-offset)))) + (/noshow0 "got CODE") (when (symbolp code) (return (values code 0 scp))) (let* ((code-header-len (* (get-header-data code) @@ -958,6 +966,7 @@ ;; pc-offset to 0 to keep the backtrace from ;; exploding. (setf pc-offset 0))))) + (/noshow0 "returning from FIND-ESCAPED-FRAME") (return (if (eq (%code-debug-info code) :bogus-lra) (let ((real-lra (code-header-ref code diff --git a/version.lisp-expr b/version.lisp-expr index ea971a8cc..65951c4da 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.9.17" +"1.0.9.18" -- 2.11.4.GIT