4b07fbd81ee2

Define some WAM index types
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Fri, 25 Mar 2016 11:49:06 +0000
parents 2579f5d00526
children d2aa6ee9382a
branches/tags (none)
files src/wam.lisp

Changes

--- a/src/wam.lisp	Fri Mar 25 11:48:00 2016 +0000
+++ b/src/wam.lisp	Fri Mar 25 11:49:06 2016 +0000
@@ -110,10 +110,6 @@
 
 
 ;;;; Heap
-(deftype heap-index ()
-  `(integer 0 ,array-total-size-limit))
-
-
 (defun heap-debug (addr cell)
   (cond
     ((= +tag-reference+ (cell-type cell))
@@ -154,6 +150,12 @@
 
 
 ;;;; BEHOLD: THE WAM
+(deftype heap-index ()
+  `(integer 0 ,(1- array-total-size-limit)))
+
+(deftype register-index ()
+  '(integer 0 15))
+
 (defclass wam ()
   ((heap
      :initform (make-array 16
@@ -172,6 +174,7 @@
                            :element-type 'heap-cell)
      :documentation "An array of the X_i registers.")))
 
+
 (defun make-wam ()
   (make-instance 'wam))