anchor.diff:      result))
   
   (defclass linear-allocator ()
  -  ((%function :initarg :function :reader allocator-backend-function)
  +  ((%vreg-to-id-table :initarg :vreg-to-id :reader allocator-vreg-to-id-table)
  +   (%id-vreg-table :initarg :id-to-vreg :reader allocator-id-to-vreg-table)
  +   (%function :initarg :function :reader allocator-backend-function)
      (%ordering :initarg :ordering :reader allocator-instruction-ordering)
      (%architecture :initarg :architecture :reader allocator-architecture)
      (%live-in :initarg :live-in :reader allocator-live-in)
  
positive.code: 
  (defclass live-range ()
    ((%vreg :initarg :vreg :reader live-range-vreg)
     ;; Start & end (inclusive) of this range, in allocator order.
     (%start :initarg :start :reader live-range-start)
     (%end :initarg :end :reader live-range-end)
  
negative.code:              (let* ((start (gethash vreg vreg-liveness-start))
                      (range (make-instance 'live-range
                                            :vreg vreg
                                            :vreg-id (gethash vreg vreg-to-id)
                                            :start start
                                            :end end
                                            :conflicts (if zombiep '() (gethash vreg vreg-conflicts))
  