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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Tue Jul 27 13:46:39 UTC 2004


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

Modified Files:
	arrays.lisp 
Log Message:
Fixed (setf aref) for u8 and code-vectors.

Date: Tue Jul 27 06:46:39 2004
Author: ffjeld

Index: movitz/losp/muerte/arrays.lisp
diff -u movitz/losp/muerte/arrays.lisp:1.40 movitz/losp/muerte/arrays.lisp:1.41
--- movitz/losp/muerte/arrays.lisp:1.40	Wed Jul 21 18:09:44 2004
+++ movitz/losp/muerte/arrays.lisp	Tue Jul 27 06:46:39 2004
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Sun Feb 11 23:14:04 2001
 ;;;;                
-;;;; $Id: arrays.lisp,v 1.40 2004/07/22 01:09:44 ffjeld Exp $
+;;;; $Id: arrays.lisp,v 1.41 2004/07/27 13:46:39 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -367,6 +367,7 @@
 		   ;; u8?
 		   (:cmpl ,(movitz:basic-vector-type-tag :u8) :ecx)
 		   (:jne 'not-u8-vector)
+		  code-vector
 		   (:testl ,(logxor #xffffffff (* #xff movitz:+movitz-fixnum-factor+))
 			   :eax)
 		   (:jne '(:sub-program (not-an-u8)
@@ -376,9 +377,14 @@
 		   (:movl :edx :ecx)
 		   (:shrl ,movitz:+movitz-fixnum-shift+ :ecx)
 		   (:movb :ah (:ebx :ecx ,(bt:slot-offset 'movitz:movitz-basic-vector 'movitz::data)))
+		   (:shrl ,(- 8 movitz:+movitz-fixnum-shift+) :eax)
 		   (:jmp 'return)
 
 		  not-u8-vector
+		   ;; Code?
+		   (:cmpl ,(movitz:basic-vector-type-tag :code) :ecx)
+		   (:je 'code-vector)
+		   
 		   ;; u32?
 		   (:cmpl ,(movitz:basic-vector-type-tag :u32) :ecx)
 		   (:jne 'not-u32-vector)
@@ -390,7 +396,7 @@
 		  not-u32-vector
 		   ;; bit?
 		   (:cmpl ,(movitz:basic-vector-type-tag :bit) :ecx)
-		   (:jne 'not-u8-vector)
+		   (:jne 'not-bit-vector)
 		   (:testl ,(logxor #xffffffff (* #x1 movitz:+movitz-fixnum-factor+))
 			   :eax)
 		   (:jne '(:sub-program (not-a-bit)





More information about the Movitz-cvs mailing list