[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