From 8479d3ade615e93a48757da061807223a6a902d2 Mon Sep 17 00:00:00 2001 From: Juho Snellman Date: Tue, 5 Jun 2007 21:32:57 +0000 Subject: [PATCH] 1.0.6.28: fix UNWIND-TO-FRAME-AND-CALL for #+SB-THREAD * Ensure that *UNWIND-TO-FRAME-FUNCTION* has a TLS index --- src/code/debug.lisp | 6 ++++++ src/code/early-impl.lisp | 1 + version.lisp-expr | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) 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" -- 1.7.10.4