[movitz-cvs] CVS update: movitz/storage-types.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Thu Jun 17 09:49:08 UTC 2004
Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv3661
Modified Files:
storage-types.lisp
Log Message:
Starting to implement the new data-structure for vectors.
Date: Thu Jun 17 02:49:08 2004
Author: ffjeld
Index: movitz/storage-types.lisp
diff -u movitz/storage-types.lisp:1.21 movitz/storage-types.lisp:1.22
--- movitz/storage-types.lisp:1.21 Wed Jun 16 00:42:50 2004
+++ movitz/storage-types.lisp Thu Jun 17 02:49:08 2004
@@ -9,7 +9,7 @@
;;;; Created at: Sun Oct 22 00:22:43 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: storage-types.lisp,v 1.21 2004/06/16 07:42:50 ffjeld Exp $
+;;;; $Id: storage-types.lisp,v 1.22 2004/06/17 09:49:08 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -68,13 +68,14 @@
:symbol 7
:vector #x1a
- :defstruct #x20
+ :basic-vector #x22
:funobj #x3a
+ :bignum #x4a
+ :defstruct #x20
:std-instance #x40
:run-time-context #x50
:illegal #x13
:infant-object #x23
- :bignum #x4a
;; :simple-vector #x20
;; :character-vector
@@ -375,12 +376,16 @@
(byte 8 8)
(enum-value 'other-type-byte :vector)))
-#+ignore
-(define-binary-class movitz-new-vector (movitz-heap-object-other)
+(defun basic-vector-type-tag (element-type)
+ (dpb (enum-value 'movitz-vector-element-type element-type)
+ (byte 8 8)
+ (enum-value 'other-type-byte :basic-vector)))
+
+(define-binary-class movitz-basic-vector (movitz-heap-object-other)
((type
:binary-type other-type-byte
:reader movitz-vector-type
- :initform :new-vector)
+ :initform :basic-vector)
(element-type
:binary-type (define-enum movitz-vector-element-type (u8)
:any-t 0
@@ -391,27 +396,12 @@
:bit 5)
:initarg :element-type
:reader movitz-vector-element-type)
- (dummy
- :binary-type :lu16)
(fill-pointer
:binary-type lu16
:initarg :fill-pointer
:accessor movitz-vector-fill-pointer)
- (flags
- :accessor movitz-vector-flags
- :initarg :flags
- :initform nil
- :binary-type (define-bitfield movitz-vector-flags (u8)
- (((:bits) :fill-pointer-p 2
- :code-vector-p 3
- :std-instance-slots-p 4))))
- (alignment-power
- :binary-lisp-type u8 ; align to 2^(high-nibble+3) + low-nibble
- :initform 0
- :initarg :alignment-power
- :reader movitz-vector-alignment-power)
(num-elements
- :binary-type lu16
+ :binary-type word
:initarg :num-elements
:reader movitz-vector-num-elements)
(data
More information about the Movitz-cvs
mailing list