From: Juho Snellman Date: Tue, 5 Jun 2007 21:32:57 +0000 (+0000) Subject: 1.0.6.28: fix UNWIND-TO-FRAME-AND-CALL for #+SB-THREAD X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=8479d3ade615e93a48757da061807223a6a902d2;p=sbcl.git 1.0.6.28: fix UNWIND-TO-FRAME-AND-CALL for #+SB-THREAD * Ensure that *UNWIND-TO-FRAME-FUNCTION* has a TLS index --- diff --git a/src/code/debug.lisp b/src/code/debug.lisp index dd96019..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) @@ -1513,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 diff --git a/src/code/early-impl.lisp b/src/code/early-impl.lisp index 0e457ca..b5ff9ba 100644 --- a/src/code/early-impl.lisp +++ b/src/code/early-impl.lisp @@ -37,6 +37,7 @@ *interrupts-enabled* *interrupt-pending* *free-interrupt-context-index* + sb!vm::*unwind-to-frame-function* sb!vm::*allocation-pointer* sb!vm::*binding-stack-pointer* sb!vm::*fp-constant-0d0* diff --git a/version.lisp-expr b/version.lisp-expr index 6814777..fafe327 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.6.27" +"1.0.6.28"