Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv12811
Modified Files: interrupt.lisp Log Message: Include rtc-slot scratch2 when saving dynamic context.
Date: Thu Nov 11 20:28:52 2004 Author: ffjeld
Index: movitz/losp/muerte/interrupt.lisp diff -u movitz/losp/muerte/interrupt.lisp:1.30 movitz/losp/muerte/interrupt.lisp:1.31 --- movitz/losp/muerte/interrupt.lisp:1.30 Thu Nov 11 11:08:44 2004 +++ movitz/losp/muerte/interrupt.lisp Thu Nov 11 20:28:51 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Wed Apr 7 01:50:03 2004 ;;;; -;;;; $Id: interrupt.lisp,v 1.30 2004/11/11 10:08:44 ffjeld Exp $ +;;;; $Id: interrupt.lisp,v 1.31 2004/11/11 19:28:51 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -28,7 +28,7 @@ :atomically-continuation :raw-scratch0 :ecx :eax :edx :ebx :esi - :scratch1 + :scratch1 :scratch2 :debug0 :debug1 :tail-marker)) @@ -125,6 +125,7 @@ :key #'dit-frame-index) collect `(:pushl ,reg)) (:locally (:pushl (:edi (:edi-offset scratch1)))) + (:locally (:pushl (:edi (:edi-offset scratch2)))) (:locally (:movl (:edi (:edi-offset nursery-space)) :eax)) (:pushl :eax) ; debug0: nursery-space @@ -209,6 +210,8 @@ (:locally (:movl :ecx (:edi (:edi-offset raw-scratch0)))) (:movl (:ebp ,(dit-frame-offset :scratch1)) :eax) (:locally (:movl :eax (:edi (:edi-offset scratch1)))) + (:movl (:ebp ,(dit-frame-offset :scratch2)) :eax) + (:locally (:movl :eax (:edi (:edi-offset scratch2))))
;; Load the DF flag from the interruptee before we restore ;; its register contents. @@ -266,9 +269,6 @@ (:int 63) ))) (do-it))) - - -
(defun interrupt-default-handler (vector dit-frame) (declare (without-check-stack-limit))