[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