# HG changeset patch # User Steve Losh # Date 1458906546 0 # Node ID 4b07fbd81ee2544378a89fa8821ad2a865b44214 # Parent 2579f5d00526d1fde77f04a31be9882e27c94408 Define some WAM index types diff -r 2579f5d00526 -r 4b07fbd81ee2 src/wam.lisp --- 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))