[movitz-cvs] CVS update: movitz/compiler.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Wed Jun 15 21:48:20 UTC 2005


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

Modified Files:
	compiler.lisp 
Log Message:
Don't use ECX as temporary storage for lisp-vals!

Date: Wed Jun 15 23:48:19 2005
Author: ffjeld

Index: movitz/compiler.lisp
diff -u movitz/compiler.lisp:1.144 movitz/compiler.lisp:1.145
--- movitz/compiler.lisp:1.144	Tue May 24 08:32:27 2005
+++ movitz/compiler.lisp	Wed Jun 15 23:48:19 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.144 2005/05/24 06:32:27 ffjeld Exp $
+;;;; $Id: compiler.lisp,v 1.145 2005/06/15 21:48:19 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -3606,8 +3606,8 @@
 			 (dest-location (new-binding-location destination frame-map :default nil)))
 		    (cond
 		     ((not dest-location) ; unknown, e.g. a borrowed-binding.
-		      (append (install-for-single-value binding binding-location :ecx nil)
-			      (make-store-lexical result-mode :ecx nil funobj frame-map)))
+		      (append (install-for-single-value binding binding-location :edx nil)
+			      (make-store-lexical result-mode :edx nil funobj frame-map)))
 		     ((equal binding-location dest-location)
 		      nil)
 		     ((member binding-location '(:eax :ebx :ecx :edx))
@@ -3655,6 +3655,8 @@
 	  (if (not shared-reference-p)
 	      (let ((tmp-reg (chose-free-register protect-registers)
 			     #+ignore(if (eq source :eax) :ebx :eax)))
+		(when (eq :ecx source)
+		  (break "loading a word from ECX?"))
 		`((:movl (:esi ,(+ (slot-offset 'movitz-funobj 'constant0) (* 4 slot)))
 			 ,tmp-reg)
 		  (:movl ,source (-1 ,tmp-reg))))




More information about the Movitz-cvs mailing list