[movitz-cvs] CVS movitz/losp/lib
ffjeld
ffjeld at common-lisp.net
Mon Mar 12 22:50:34 UTC 2007
Update of /project/movitz/cvsroot/movitz/losp/lib
In directory clnet:/tmp/cvs-serv14270
Modified Files:
threading.lisp
Log Message:
Save EFLAGS correctly in yield (so that e.g IF is preserved across yield).
--- /project/movitz/cvsroot/movitz/losp/lib/threading.lisp 2005/06/10 23:09:14 1.8
+++ /project/movitz/cvsroot/movitz/losp/lib/threading.lisp 2007/03/12 22:50:34 1.9
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Thu Apr 28 08:30:01 2005
;;;;
-;;;; $Id: threading.lisp,v 1.8 2005/06/10 23:09:14 ffjeld Exp $
+;;;; $Id: threading.lisp,v 1.9 2007/03/12 22:50:34 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -179,7 +179,7 @@
(muerte::asm-register :esi)) ()
"Will not yield to a non-yield frame.")
;; Push eflags for later..
- (setf (memref (decf esp) 0) (eflags))
+ (setf (memref (decf esp) 0 :type :unsigned-byte32) (eflags))
;; Store EBP and ESP so we can get to them after the switch
(setf (%run-time-context-slot target-rtc 'muerte::scratch1) ebp
(%run-time-context-slot target-rtc 'muerte::scratch2) esp)
@@ -194,5 +194,5 @@
(:movw :cx :fs)
(:locally (:movl (:edi (:edi-offset scratch1)) :ebp))
(:locally (:movl (:edi (:edi-offset scratch2)) :esp))
- (:popfl)))))
+ (:popfl)))))
More information about the Movitz-cvs
mailing list