Class: HEAP

Slots

  • STREAM
  • CELL-BUFFER
  • END

    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

    The maximum size (in octets) for the heap. If nil, the heap is allowed to expand indefinitely.

  • NR-ALLOCATED-OCTETS

    The number of octets that have been allocated by ALLOCATE-BLOCK since the last time that RESET-ALLOCATION-COUNTER was called.

Hierachy

Precedence List

  • STANDARD-OBJECT

Sub Classes

Source

(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