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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Apr 1 02:13:33 UTC 2004


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

Modified Files:
	memref.lisp 
Log Message:
Some tuning of memref.

Date: Wed Mar 31 21:13:30 2004
Author: ffjeld

Index: movitz/losp/muerte/memref.lisp
diff -u movitz/losp/muerte/memref.lisp:1.8 movitz/losp/muerte/memref.lisp:1.9
--- movitz/losp/muerte/memref.lisp:1.8	Wed Mar 31 16:35:27 2004
+++ movitz/losp/muerte/memref.lisp	Wed Mar 31 21:13:27 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Tue Mar  6 21:25:49 2001
 ;;;;                
-;;;; $Id: memref.lisp,v 1.8 2004/03/31 21:35:27 ffjeld Exp $
+;;;; $Id: memref.lisp,v 1.9 2004/04/01 02:13:27 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -65,8 +65,7 @@
 		      (:movzxb (:eax ,(offset-by 1)) :ecx)))
 		  ((eq 0 offset)
 		   `(with-inline-assembly (:returns :untagged-fixnum-ecx)
-		      (:compile-two-forms (:eax :ecx) ,object ,index)
-		      (:sarl ,movitz:+movitz-fixnum-shift+ :ecx)
+		      (:compile-two-forms (:eax :untagged-fixnum-ecx) ,object ,index)
 		      (:movzxb (:eax :ecx ,(offset-by 1)) :ecx)))
 		  (t (let ((object-var (gensym "memref-object-")))
 		       `(let ((,object-var ,object))
@@ -156,15 +155,11 @@
 		  ((and (eq 0 offset) (eq 0 index))
 		   `(with-inline-assembly (:returns :untagged-fixnum-ecx)
 		      (:compile-form (:result-mode :eax) ,object)
-		      (:movl (:eax ,(offset-by 4)) :ecx)
-		      (:cmpl ,movitz::+movitz-most-positive-fixnum+ :ecx)
-		      (:jg '(:sub-program () (:int 4)))))
+		      (:movl (:eax ,(offset-by 4)) :ecx)))
 		  ((eq 0 offset)
 		   `(with-inline-assembly (:returns :untagged-fixnum-ecx)
 		      (:compile-two-forms (:eax :ecx) ,object ,index)
-		      (:movl (:eax :ecx ,(offset-by 4)) :ecx)
-		      (:cmpl ,movitz::+movitz-most-positive-fixnum+ :ecx)
-		      (:jg '(:sub-program () (:int 4)))))
+		      (:movl (:eax :ecx ,(offset-by 4)) :ecx)))
 		  (t (let ((object-var (gensym "memref-object-")))
 		       `(let ((,object-var ,object))
 			  (with-inline-assembly (:returns :untagged-fixnum-ecx)
@@ -269,8 +264,7 @@
 	((and (movitz:movitz-constantp offset env)
 	      (movitz:movitz-constantp index env))
 	 `(with-inline-assembly (:returns :untagged-fixnum-ecx)
-	    (:compile-two-forms (:ecx :ebx) ,value ,object)
-	    (:shrl ,movitz:+movitz-fixnum-shift+ :ecx)
+	    (:compile-two-forms (:untagged-fixnum-ecx :ebx) ,value ,object)
 	    (:movl :ecx (:ebx ,(+ (movitz:movitz-eval offset env)
 				  (* 4 (movitz:movitz-eval index env)))))))
 	((and (movitz:movitz-constantp offset env)
@@ -317,8 +311,7 @@
 	((and (movitz:movitz-constantp offset env)
 	      (movitz:movitz-constantp index env))
 	 `(with-inline-assembly (:returns :untagged-fixnum-ecx)
-	    (:compile-two-forms (:ecx :ebx) ,value ,object)
-	    (:shrl ,movitz:+movitz-fixnum-shift+ :ecx)
+	    (:compile-two-forms (:untagged-fixnum-ecx :ebx) ,value ,object)
 	    (:movw :cx (:ebx ,(+ (movitz:movitz-eval offset env)
 				 (* 2 (movitz:movitz-eval index env)))))))
 	((and (movitz:movitz-constantp offset env)





More information about the Movitz-cvs mailing list