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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Fri Sep 17 11:06:47 UTC 2004


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

Modified Files:
	memref.lisp 
Log Message:
Fixed the memref-int :unsigned-byte16 accessor wrt. register discipline.

Date: Fri Sep 17 13:06:47 2004
Author: ffjeld

Index: movitz/losp/muerte/memref.lisp
diff -u movitz/losp/muerte/memref.lisp:1.29 movitz/losp/muerte/memref.lisp:1.30
--- movitz/losp/muerte/memref.lisp:1.29	Wed Sep 15 12:22:59 2004
+++ movitz/losp/muerte/memref.lisp	Fri Sep 17 13:06:47 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.29 2004/09/15 10:22:59 ffjeld Exp $
+;;;; $Id: memref.lisp,v 1.30 2004/09/17 11:06:47 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -715,12 +715,14 @@
 	(:unsigned-byte16
 	 (cond
 	  ((and (eq 0 offset) (eq 0 index))
-	   `(with-inline-assembly (:returns :untagged-fixnum-ecx)
+	   `(with-inline-assembly (:returns :untagged-fixnum-ecx
+					    :type (unsigned-byte 16))
 	      (:compile-form (:result-mode :untagged-fixnum-ecx) ,address)
 	      (,prefixes :movzxw (:ecx) :ecx)))
 	  (t (let ((address-var (gensym "memref-int-address-")))
 	       `(let ((,address-var ,address))
-		  (with-inline-assembly (:returns :untagged-fixnum-ecx)
+		  (with-inline-assembly (:returns :untagged-fixnum-ecx
+						  :type (unsigned-byte 16))
 		    (:compile-two-forms (:eax :ecx) ,offset ,index)
 		    (:load-lexical (:lexical-binding ,address-var) :ebx)
 		    (:shll 1 :ecx)	; scale index
@@ -820,7 +822,7 @@
 	     `(let ((,value-var ,value)
 		    (,address-var ,address)
 		    (,index-var ,index))
-		(with-inline-assembly (:returns :untagged-fixnum-eax)
+		(with-inline-assembly (:returns :eax)
 		  (:load-lexical (:lexical-binding ,value-var) :eax) ; value
 		  (:load-lexical (:lexical-binding ,index-var) :ebx) ; index
 		  (:load-lexical (:lexical-binding ,address-var) :ecx) ; address
@@ -840,7 +842,7 @@
 		      (,address-var ,address)
 		      (,offset-var ,offset)
 		      (,index-var ,index))
-		  (with-inline-assembly (:returns :untagged-fixnum-eax)
+		  (with-inline-assembly (:returns :eax)
 		    (:load-lexical (:lexical-binding ,address-var) :ecx)
 		    (:load-lexical (:lexical-binding ,index-var) :ebx)
 		    (:load-lexical (:lexical-binding ,offset-var) :edx)





More information about the Movitz-cvs mailing list