anchor.diff:  (defun (cas gethash) (old-value new-value key hash-table &optional default)
     (check-type hash-table hash-table)
     (with-hash-table-lock (hash-table)
  +    (when (and (hash-table-gc-invariant hash-table)
  +               (not (object-hash-gc-invariant-under-test key (hash-table-test hash-table))))
  +      ;; Hash table is no longer invariant.
  +      (setf (hash-table-gc-invariant hash-table) nil))
       (multiple-value-bind (slot free-slot)
           (find-hash-table-slot key hash-table)
         (cond
  
positive.code:      (let ((epoch *gc-epoch*))
         (multiple-value-bind (offset free-slot)
             (find-hash-table-slot-1 key hash-table)
           (when (and (eql epoch *gc-epoch*)
                      (eql (hash-table-storage-epoch hash-table) *gc-epoch*))
             (return (values offset free-slot)))
           (hash-table-rehash hash-table nil)))))
  
  
negative.code:   (declare (ignore default))
    (check-type hash-table hash-table)
    (with-hash-table-lock (hash-table)
      (when (and (hash-table-gc-invariant hash-table)
                 (not (object-hash-gc-invariant-under-test key (hash-table-test hash-table))))
        ;; Hash table is no longer invariant.
        (setf (hash-table-gc-invariant hash-table) nil))
      (multiple-value-bind (slot free-slot)
          (find-hash-table-slot key hash-table)
        (cond
  