anchor.diff:      (%fast-copy new-address address (* length 8))
       ;; Leave a forwarding pointer.
       (setf (memref-t address 0) (%%assemble-value new-address +tag-gc-forward+))
  +    ;; Update meter.
  +    (let ((cycles (- (tsc) start-time))
  +          (bin (integer-length (1- (* length 8)))))
  +      (incf (svref *gc-transport-counts* bin))
  +      (incf (svref *gc-transport-cycles* bin) cycles))
       ;; Complete! Return the new object
       (%%assemble-value new-address (%tag-field object))))
   
  
positive.code: 
  (defvar *gc-epoch* 0)
  (defvar *gc-time* 0.0 "Time in seconds taken by the GC so far.")
  
  (defun gc ()
    "Run a garbage-collection cycle."
  
negative.code: (defun transport-object (object)
    "Transport LENGTH words from oldspace to newspace, returning
  a pointer to the new object. Leaves a forwarding pointer in place."
    (let* ((start-time (tsc))
           (length nil)
           (address (ash (%pointer-field object) 4))
           (first-word (memref-t address 0))
           (new-address nil))
  