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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Tue Jul 13 02:26:28 UTC 2004


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

Modified Files:
	primitive-functions.lisp 
Log Message:
Changed the run-time-context slot num-values from being lu32 to being
a word (i.e. a fixnum).

Date: Mon Jul 12 19:26:28 2004
Author: ffjeld

Index: movitz/losp/muerte/primitive-functions.lisp
diff -u movitz/losp/muerte/primitive-functions.lisp:1.26 movitz/losp/muerte/primitive-functions.lisp:1.27
--- movitz/losp/muerte/primitive-functions.lisp:1.26	Thu Jul  8 08:28:57 2004
+++ movitz/losp/muerte/primitive-functions.lisp	Mon Jul 12 19:26:28 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.26 2004/07/08 15:28:57 ffjeld Exp $
+;;;; $Id: primitive-functions.lisp,v 1.27 2004/07/13 02:26:28 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -713,6 +713,9 @@
     (:jnz 'push-loop)
    push-done
     (:locally (:movl (:edi (:edi-offset num-values)) :ecx))
+    (:testb 3 :cl)
+    (:jnz '(:sub-program () (:int 62)))
+    (:shrl #.movitz:+movitz-fixnum-shift+ :ecx)
     (:addl 2 :ecx)
    done
     (:jmp :edx)))
@@ -736,13 +739,15 @@
 	   (:jmp :edx)))
     ;; three or more values
     (:subl 2 :ecx)
+    (:shll #.movitz:+movitz-fixnum-shift+ :ecx)
     (:locally (:movl :ecx (:edi (:edi-offset num-values))))
-    (:subl 1 :ecx)
+    (:subl #.movitz:+movitz-fixnum-factor+ :ecx)
    pop-loop
-    (:locally (:popl (:edi (:ecx 4) (:edi-offset values))))
-    (:subl 1 :ecx)
+    (:locally (:popl (:edi (:ecx 1) (:edi-offset values))))
+    (:subl #.movitz:+movitz-fixnum-factor+ :ecx)
     (:jnc 'pop-loop)
     (:locally (:movl (:edi (:edi-offset num-values)) :ecx))
+    (:shrl #.movitz:+movitz-fixnum-shift+ :ecx)
     (:popl :ebx)
     (:popl :eax)
     (:addl 2 :ecx)





More information about the Movitz-cvs mailing list