[movitz-cvs] CVS update: movitz/losp/muerte/arrays.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Thu Jul 8 18:53:42 UTC 2004
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv22988
Modified Files:
arrays.lisp
Log Message:
Removed references to the old movitz-vector class.
Date: Thu Jul 8 11:53:42 2004
Author: ffjeld
Index: movitz/losp/muerte/arrays.lisp
diff -u movitz/losp/muerte/arrays.lisp:1.32 movitz/losp/muerte/arrays.lisp:1.33
--- movitz/losp/muerte/arrays.lisp:1.32 Thu Jul 8 08:28:52 2004
+++ movitz/losp/muerte/arrays.lisp Thu Jul 8 11:53:42 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.32 2004/07/08 15:28:52 ffjeld Exp $
+;;;; $Id: arrays.lisp,v 1.33 2004/07/08 18:53:42 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -22,7 +22,7 @@
(in-package muerte)
(defun vector-element-type (object)
- (memref object #.(bt:slot-offset 'movitz::movitz-vector 'movitz::element-type) 0
+ (memref object #.(bt:slot-offset 'movitz::movitz-basic-vector 'movitz::element-type) 0
:unsigned-byte8))
(defmacro vector-double-dispatch ((s1 s2) &rest clauses)
@@ -44,12 +44,12 @@
(define-compiler-macro vector-element-type (object)
`(memref ,object 0
- #.(bt:slot-offset 'movitz::movitz-vector 'movitz::element-type)
+ ,(bt:slot-offset 'movitz::movitz-basic-vector 'movitz::element-type)
:unsigned-byte8))
(defun (setf vector-element-type) (numeric-element-type vector)
(check-type vector vector)
- (setf (memref vector #.(bt:slot-offset 'movitz::movitz-vector 'movitz::element-type) 0
+ (setf (memref vector #.(bt:slot-offset 'movitz::movitz-basic-vector 'movitz::element-type) 0
:unsigned-byte8)
numeric-element-type))
@@ -75,7 +75,7 @@
(movitz-accessor array movitz-basic-vector num-elements))))
(defun shrink-vector (vector new-size)
- (set-movitz-accessor-u16 vector movitz-vector num-elements new-size)
+ (setf-movitz-accessor (vector movitz-basic-vector num-elements) new-size)
vector)
(define-compiler-macro %basic-vector-has-fill-pointer-p (vector)
@@ -205,19 +205,19 @@
((do-it ()
`(with-inline-assembly (:returns :eax)
(:declare-label-set basic-vector-dispatcher
- ,(print (loop with x = (make-list 8 :initial-element 'unknown)
+ ,(loop with x = (make-list 8 :initial-element 'unknown)
for et in '(:any-t :character :u8 :u32 :code :bit)
do (setf (elt x (bt:enum-value
'movitz::movitz-vector-element-type
et))
et)
- finally (return x))))
+ finally (return x)))
(:compile-two-forms (:eax :ebx) array index)
(:movl (:eax ,movitz:+other-type-offset+) :ecx)
- (:cmpb ,(movitz:tag :basic-vector) :cl)
- (:jne '(:sub-program (not-vector)
- (:compile-form (:result-mode :ignore)
- (error "Not an array: ~S." array))))
+;;; (:cmpb ,(movitz:tag :basic-vector) :cl)
+;;; (:jne '(:sub-program (not-vector)
+;;; (:compile-form (:result-mode :ignore)
+;;; (error "Not an array: ~S." array))))
(:testb ,movitz:+movitz-fixnum-zmask+ :bl)
(:jnz '(:sub-program (illegal-index)
(:compile-form (:result-mode :ignore)
@@ -387,7 +387,7 @@
(defun svref%unsafe (simple-vector index)
(with-inline-assembly (:returns :eax)
(:compile-two-forms (:eax :ebx) simple-vector index)
- (:movl (:eax :ebx #.(bt:slot-offset 'movitz:movitz-vector 'movitz::data)) :eax)))
+ (:movl (:eax :ebx #.(bt:slot-offset 'movitz:movitz-basic-vector 'movitz::data)) :eax)))
(defun (setf svref%unsafe) (value simple-vector index)
(setf (svref%unsafe simple-vector index) value))
@@ -745,7 +745,7 @@
(define-compiler-macro bvref-u16 (&whole form vector offset index &environment env)
(let ((actual-index (and (movitz:movitz-constantp index env)
- (movitz::eval-form index env))))
+ (movitz:movitz-eval index env))))
(if (not (typep actual-index '(integer 0 *)))
`(bvref-u16-fallback ,vector ,offset ,index)
(let ((var (gensym)))
@@ -754,11 +754,14 @@
(bvref-u16-fallback ,var ,offset ,index)
(with-inline-assembly (:returns :untagged-fixnum-ecx)
(:compile-two-forms (:eax :ecx) ,var ,offset)
- (:shrl #.movitz::+movitz-fixnum-shift+ :ecx)
- (:andl #xfffe :ecx)
- (:cmpw :cx (:eax #.(bt:slot-offset 'movitz::movitz-vector 'movitz::num-elements)))
- (:jbe '(:sub-program () (:int 69)))
- (:movw (:eax :ecx ,(+ actual-index (bt:slot-offset 'movitz::movitz-vector 'movitz::data))) :cx)
+ (:cmpl (:eax ,(bt:slot-offset 'movitz::movitz-basic-vector
+ 'movitz::num-elements))
+ :ecx)
+ (:jnc '(:sub-program () (:int 69)))
+ (:shrl ,movitz::+movitz-fixnum-shift+ :ecx)
+ (:movw (:eax :ecx ,(+ actual-index (bt:slot-offset 'movitz::movitz-basic-vector
+ 'movitz::data)))
+ :cx)
(:xchgb :cl :ch))))))))
(defun bvref-u16-fallback (vector offset index)
More information about the Movitz-cvs
mailing list