[movitz-cvs] CVS update: movitz/compiler.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Mon May 23 22:40:56 UTC 2005
Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv15839
Modified Files:
compiler.lisp
Log Message:
Fixed make-store-lexical for :untagged-fixnum-ecx.
Date: Tue May 24 00:40:55 2005
Author: ffjeld
Index: movitz/compiler.lisp
diff -u movitz/compiler.lisp:1.141 movitz/compiler.lisp:1.142
--- movitz/compiler.lisp:1.141 Mon May 23 18:45:15 2005
+++ movitz/compiler.lisp Tue May 24 00:40:55 2005
@@ -8,7 +8,7 @@
;;;; Created at: Wed Oct 25 12:30:49 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: compiler.lisp,v 1.141 2005/05/23 16:45:15 ffjeld Exp $
+;;;; $Id: compiler.lisp,v 1.142 2005/05/23 22:40:55 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -3694,10 +3694,15 @@
"store-lexical argnum can't be ~A." (function-argument-argnum binding))
`((:movl ,source (:ebp ,(argument-stack-offset binding)))))
(:untagged-fixnum-ecx
- (append (unless (member source '(:ecx :untagged-fixnum-ecx))
- `((:movl ,source :ecx)))
- (unless (eq source :untagged-fixnum-ecx)
- `((:sarl ,+movitz-fixnum-shift+ :ecx)))))))))))))
+ (cond
+ ((eq source :untagged-fixnum-ecx)
+ nil)
+ ((eq source :eax)
+ `((,*compiler-global-segment-prefix*
+ :call (:edi ,(global-constant-offset 'unbox-u32)))))
+ (t `((:movl ,source :eax)
+ (,*compiler-global-segment-prefix*
+ :call (:edi ,(global-constant-offset 'unbox-u32)))))))))))))))
(defun finalize-code (code funobj frame-map)
;; (print-code 'to-be-finalized code)
More information about the Movitz-cvs
mailing list