Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv3366
Modified Files: special-operators-cl.lisp Log Message: Changed the protocol (wrt. stack discipline) for dynamic control transfer slightly, so that restart-atomically-continuation (i.e. continue after an interrupt occurred inside an atomical sequence) fits into it all.
Date: Thu Feb 3 10:18:45 2005 Author: ffjeld
Index: movitz/special-operators-cl.lisp diff -u movitz/special-operators-cl.lisp:1.44 movitz/special-operators-cl.lisp:1.45 --- movitz/special-operators-cl.lisp:1.44 Thu Jan 27 09:58:53 2005 +++ movitz/special-operators-cl.lisp Thu Feb 3 10:18:45 2005 @@ -9,7 +9,7 @@ ;;;; Created at: Fri Nov 24 16:31:11 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: special-operators-cl.lisp,v 1.44 2005/01/27 08:58:53 ffjeld Exp $ +;;;; $Id: special-operators-cl.lisp,v 1.45 2005/02/03 09:18:45 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -769,7 +769,7 @@ (:locally (:call (:edi (:edi-offset dynamic-unwind-next)))) ;; have next-continuation in EAX, final-continuation in EDX (:locally (:movl :edx (:edi (:edi-offset raw-scratch0)))) ; final continuation - + (:locally (:movl :eax (:edi (:edi-offset dynamic-env)))) ; new dynamic-env (:movl :eax :edx) (:clc) (:locally (:call (:edi (:edi-offset dynamic-jump-next)))))))))))) @@ -1304,6 +1304,7 @@ ;;; (:movl ',continue-label (:esp 8)) ; new jumper index
(:load-lexical ,next-continuation-step-binding :edx) + (:locally (:movl :edx (:edi (:edi-offset dynamic-env)))) (:locally (:call (:edi (:edi-offset dynamic-jump-next)))) ;;; (:locally (:movl :esi (:edi (:edi-offset scratch1))))