Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv7730
Modified Files: special-operators.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:14 2004 Author: ffjeld
Index: movitz/special-operators.lisp diff -u movitz/special-operators.lisp:1.25 movitz/special-operators.lisp:1.26 --- movitz/special-operators.lisp:1.25 Sat Jul 10 06:29:18 2004 +++ movitz/special-operators.lisp Mon Jul 12 19:26:14 2004 @@ -8,7 +8,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Fri Nov 24 16:22:59 2000 ;;;; -;;;; $Id: special-operators.lisp,v 1.25 2004/07/10 13:29:18 ffjeld Exp $ +;;;; $Id: special-operators.lisp,v 1.26 2004/07/13 02:26:14 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -906,7 +906,8 @@ (* 4 i)))))) cloaked-code (when (<= 3 num-values) - `((:locally (:movl ,(- num-values 2) + `((:locally (:movl ,(* +movitz-fixnum-factor+ + (- num-values 2)) (:edi (:edi-offset num-values)))))) (loop for i downfrom (- num-values 2 1) to 0 collect @@ -1224,9 +1225,10 @@ (loop for i from (- (length sub-forms) 3) downto 0 collecting `(:locally (:popl (:edi (:edi-offset values ,(* i 4)))))) - (make-immediate-move (- (length sub-forms) 2) :ecx) - `((:locally (:movl :ecx (:edi (:edi-offset num-values)))) - (:addl 2 :ecx) + (make-immediate-move (length sub-forms) :ecx) + `((:leal ((:ecx ,+movitz-fixnum-factor+) ,(* -2 +movitz-fixnum-factor+)) + :edx) + (:locally (:movl :edx (:edi (:edi-offset num-values)))) (:stc)) #+ignore (make-compiled-funcall-by-symbol 'muerte.cl::values