[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