X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdebug.lisp;h=1726964f89aeadaaffaafe5133a52ff803cf7ccf;hb=9b634117911815fbf4154546431b4dcf13e38b47;hp=114507ae2785039246c0f74ca22761f4856b3274;hpb=578d987735906eb05829f0c2235a3ba9225c2bc4;p=sbcl.git diff --git a/src/code/debug.lisp b/src/code/debug.lisp index 114507a..1726964 100644 --- a/src/code/debug.lisp +++ b/src/code/debug.lisp @@ -1379,6 +1379,8 @@ reset to ~S." (!def-debug-command "SLURP" () (loop while (read-char-no-hang *standard-input*))) +;;; RETURN-FROM-FRAME and RESTART-FRAME + (defun unwind-to-frame-and-call (frame thunk) #!+unwind-to-frame-and-call-vop (flet ((sap-int/fixnum (sap) @@ -1418,6 +1420,8 @@ reset to ~S." (defun find-binding-stack-pointer (frame) #!-stack-grows-downward-not-upward + (declare (ignore frame)) + #!-stack-grows-downward-not-upward (error "Not implemented on this architecture") #!+stack-grows-downward-not-upward (let ((bsp (sb!vm::binding-stack-pointer-sap)) @@ -1511,6 +1515,10 @@ reset to ~S." #!-unwind-to-frame-and-call-vop (find 'sb!c:debug-catch-tag (sb!di::frame-catches frame) :key #'car)) +;; Hack: ensure that *U-T-F-F* has a tls index. +#!+unwind-to-frame-and-call-vop +(let ((sb!vm::*unwind-to-frame-function* (lambda ())))) + ;;;; debug loop command utilities