The end of the heap. For free-list heaps, this number is stored in the first heap cell. For appending heaps, it's stored in the end of the file.
The maximum size (in octets) for the heap. If nil, the heap is allowed to expand indefinitely.
The number of octets that have been allocated by ALLOCATE-BLOCK since the last time that RESET-ALLOCATION-COUNTER was called.
(defclass heap ()
((stream :initarg :stream :accessor heap-stream)
(cell-buffer :initform (make-array +pointer-size+
:element-type '(unsigned-byte 8))
;; Just a buffer for 1 cell.
:reader cell-buffer)
(end :accessor heap-end
:documentation "The end of the heap. For free-list heaps, this number
is stored in the first heap cell. For appending heaps, it's stored in the
end of the file.")
(max-size :initarg :max-size
:initform nil :accessor max-heap-size
:documentation "The maximum size (in octets) for the heap.
If nil, the heap is allowed to expand indefinitely.")
(nr-allocated-octets :initform 0
:accessor nr-allocated-octets
:documentation "The number of octets that have been
allocated by ALLOCATE-BLOCK since the last time that RESET-ALLOCATION-COUNTER
was called.")))
Source Context