anchor.diff:                                                       other-layout-address other-layout-length
                                                        other-multiple-values other-incoming-arguments other-block-or-tagbody-thunk)
                         (gc-info-for-function-offset other-fn other-fn-offset)
  +                    (debug-stack-frame other-framep other-interruptp other-pushed-values other-pushed-values-register
  +                                       other-layout-address other-layout-length
  +                                       other-multiple-values other-incoming-arguments other-block-or-tagbody-thunk)
                       (when (or other-interruptp
                                 (not (eql other-pushed-values 0)) other-pushed-values-register
                                 (and other-multiple-values (not (eql other-multiple-values 0)))
                                 (and (keywordp other-incoming-arguments) (not (eql other-incoming-arguments :rcx)))
                                 other-block-or-tagbody-thunk)
  +                      (let ((*gc-debug-scavenge-stack* t))
  +                        (debug-stack-frame other-framep other-interruptp other-pushed-values other-pushed-values-register
  +                                           other-layout-address other-layout-length
  +                                           other-multiple-values other-incoming-arguments other-block-or-tagbody-thunk))
                         (emergency-halt "TODO! GC SG stuff. (interrupt)"))
                       (when (keywordp other-incoming-arguments)
                         (when (not (eql other-incoming-arguments :rcx))
  +                        (let ((*gc-debug-scavenge-stack* t))
  +                          (debug-stack-frame other-framep other-interruptp other-pushed-values other-pushed-values-register
  +                                             other-layout-address other-layout-length
  +                                             other-multiple-values other-incoming-arguments other-block-or-tagbody-thunk))
                           (emergency-halt "TODO? incoming-arguments not in RCX"))
                         (setf other-incoming-arguments nil)
                         (mumble-hex (memref-t frame-pointer -2) "ia-count ")
  
positive.code:                       (when (>= position length)
                          ,(if errorp
                               `(emergency-halt "Reached end of GC Info??")
                               `(when *gc-debug-scavenge-stack*
                                  (if framep
                                      (mumble "frame")
                                      (mumble "no-frame"))
                                  (if interruptp
                                      (mumble "interrupt")
                                      (mumble "no-interrupt"))
                                  (mumble-hex pushed-values "pv: " t)
                                  (mumble-hex (lisp-object-address pushed-values-register) "pvr: " t)
                                  (if multiple-values
                                      (mumble-hex multiple-values "mv: " t)
                                      (mumble "no-multiple-values"))
                                  (mumble-hex layout-address "Layout addr: ")
                                  (mumble-hex layout-length "  Layout len: " t)
                                  (cond ((integerp incoming-arguments)
                                         (mumble-hex incoming-arguments "ia: " t))
                                        (incoming-arguments
                                         (mumble-hex (lisp-object-address incoming-arguments) "ia: " t))
                                        (t (mumble "no-incoming-arguments")))
                                  (if block-or-tagbody-thunk
                                      (mumble-hex (lisp-object-address block-or-tagbody-thunk) "btt: " t)
                                      (mumble "no-btt"))))
                          (return-from gc-info-for-function-offset
                            (values framep interruptp pushed-values pushed-values-register
                                    layout-address layout-length multiple-values
  
negative.code:                        (other-fn-address (base-address-of-internal-pointer other-return-address))
                         (other-fn-offset (- other-return-address other-fn-address))
                         (other-fn (%%assemble-value other-fn-address +tag-function+)))
                    (when *gc-debug-scavenge-stack*
                      (mumble-hex other-return-address "oRA: " t)
                      (mumble-hex other-frame-pointer "oFP: " t)
                      (mumble-hex other-stack-pointer "oSP: " t)
                      (mumble-hex other-fn-address "oFNa: " t)
                      (mumble-hex other-fn-offset "oFNo: " t))
                    ;; Unconditionally scavenge the saved data registers.
                    (scavengef (memref-t frame-pointer -12)) ; r8
                    (scavengef (memref-t frame-pointer -11)) ; r9
  