[movitz-cvs] CVS update: movitz/losp/muerte/primitive-functions.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Oct 7 12:44:18 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv25249

Modified Files:
	primitive-functions.lisp 
Log Message:
Make dynamic-unwind-next preserve EDX.

Date: Thu Oct  7 14:44:18 2004
Author: ffjeld

Index: movitz/losp/muerte/primitive-functions.lisp
diff -u movitz/losp/muerte/primitive-functions.lisp:1.45 movitz/losp/muerte/primitive-functions.lisp:1.46
--- movitz/losp/muerte/primitive-functions.lisp:1.45	Sat Sep 25 17:51:22 2004
+++ movitz/losp/muerte/primitive-functions.lisp	Thu Oct  7 14:44:17 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Tue Oct  2 21:02:18 2001
 ;;;;                
-;;;; $Id: primitive-functions.lisp,v 1.45 2004/09/25 15:51:22 ffjeld Exp $
+;;;; $Id: primitive-functions.lisp,v 1.46 2004/10/07 12:44:17 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -113,11 +113,10 @@
 (define-primitive-function dynamic-unwind-next (dynamic-env)
   "Locate the next unwind-protect entry between here and dynamic-env.
 If no such entry is found, return (same) dynamic-env in EAX and CF=0.
-Otherwise return the unwind-protect entry in EAX and CF=1."
+Otherwise return the unwind-protect entry in EAX and CF=1. Preserve EDX."
   (with-inline-assembly (:returns :nothing)
     (:locally (:bound (:edi (:edi-offset stack-bottom)) :eax))
-
-    (:globally (:movl (:edi (:edi-offset unwind-protect-tag)) :edx))
+    (:globally (:movl (:edi (:edi-offset unwind-protect-tag)) :ebx))
     (:locally (:movl (:edi (:edi-offset dynamic-env)) :ecx))
     
    search-loop
@@ -127,7 +126,7 @@
     (:cmpl :ecx :eax)
     (:je 'found-dynamic-env)
     
-    (:cmpl :edx (:ecx 4))		; unwind-protect entry?
+    (:cmpl :ebx (:ecx 4))		; unwind-protect entry?
     (:je 'found-unwind-protect)
     
     (:movl (:ecx 12) :ecx)		; proceed search





More information about the Movitz-cvs mailing list