Method: (INITIALIZE-INSTANCE AFTER MARK-AND-SWEEP-HEAP)

Source

(defmethod initialize-instance :after ((heap mark-and-sweep-heap)
                                       &key size &allow-other-keys)
  ;; Give max-heap-end its initial value (depending on the :size initarg).
  (let ((proposed-size (or size *initial-heap-size*)))
    (setf (max-heap-end heap) (if (> proposed-size (heap-size heap))
                                  (+ (heap-start heap) proposed-size)
                                (heap-end heap))
          (grow-size heap) (or (grow-size heap)
                               (max-heap-end heap))))
  ;; GC should begin in the :ready state.  It will switch to :starting
  ;; state when the heap is expanded.
  (setf (state heap) :ready))
Source Context