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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Mon Mar 29 19:19:51 UTC 2004


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

Modified Files:
	arrays.lisp 
Log Message:
Properly allocate vectors specialized to (unsigned-byte 32).

Date: Mon Mar 29 14:19:51 2004
Author: ffjeld

Index: movitz/losp/muerte/arrays.lisp
diff -u movitz/losp/muerte/arrays.lisp:1.13 movitz/losp/muerte/arrays.lisp:1.14
--- movitz/losp/muerte/arrays.lisp:1.13	Mon Mar 29 09:32:12 2004
+++ movitz/losp/muerte/arrays.lisp	Mon Mar 29 14:19:51 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.13 2004/03/29 14:32:12 ffjeld Exp $
+;;;; $Id: arrays.lisp,v 1.14 2004/03/29 19:19:51 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -546,30 +546,25 @@
 	   (replace array initial-contents)))
 	 array))
       ((member element-type '(u32 (unsigned-byte 32)) :test #'equal)
-       (let ((a (inline-malloc (+ #.(bt:sizeof 'movitz::movitz-vector) (* 4 dimensions))
-			       :other-tag :vector
-			       :wide-other-tag #.(bt:enum-value 'movitz::movitz-vector-element-type
-								:u32))))
-	 (setf (memref a #.(bt:slot-offset 'movitz::movitz-vector 'movitz::flags)
+       (let ((array (malloc-words dimensions)))
+	 (setf (memref array #.(bt:slot-offset 'movitz::movitz-vector 'movitz::flags)
 		       0 :unsigned-byte16)
 	   0)
-	 (setf (memref a #.(bt:slot-offset 'movitz::movitz-vector 'movitz::num-elements)
+	 (setf (memref array #.(bt:slot-offset 'movitz::movitz-vector 'movitz::num-elements)
 		       0 :unsigned-byte16)
 	   dimensions)
-	 (setf (fill-pointer a) fill-pointer)
+	 (setf (memref array #.(bt:slot-offset 'movitz::movitz-vector 'movitz::type)
+		       0 :unsigned-byte16)
+	   #.(movitz:vector-type-tag :u32))	 
+	 (setf (fill-pointer array) fill-pointer)
 	 (cond
 	  (initial-element
 	   (dotimes (i dimensions)
-	     (setf (aref a i) initial-element)))
+	     (setf (aref array i) initial-element)))
 	  (initial-contents
-	   (replace a initial-contents)))
-	 a))
-      (t (let ((array (malloc-words dimensions)
-		      #+ignore
-		      (inline-malloc (+ #.(bt:sizeof 'movitz::movitz-vector) (* 4 dimensions))
-				     :other-tag :vector
-				     :wide-other-tag #.(bt:enum-value 'movitz::movitz-vector-element-type
-								      :any-t))))
+	   (replace array initial-contents)))
+	 array))
+      (t (let ((array (malloc-words dimensions)))
 	   (setf (memref array #.(bt:slot-offset 'movitz::movitz-vector 'movitz::flags)
 			 0 :unsigned-byte16)
 	     0)





More information about the Movitz-cvs mailing list