anchor.diff:                   (t (let ((register (cond ((integerp (first value-locations))
                                              (emit `(sys.lap-x86:gs)
                                                    `(sys.lap-x86:mov64 :r13 (,(+ (- 8 sys.int::+tag-object+)
  -                                                                               (* (+ sys.int::+stack-group-offset-mv-slots+
  -                                                                                     (pop value-locations)) 8)))))
  +                                                                               (* (+ #+(or)sys.int::+stack-group-offset-mv-slots+
  +                                                                                     32 ; fixme. should be +thread-mv-slots-start+
  +                                                                                     (pop value-locations))
  +                                                                                  8)))))
                                              :r13)
                                             (t (pop value-locations)))))
                         (emit `(sys.lap-x86:mov64 (:stack ,(position (cons var :home)
  
positive.code:                 (load-in-reg :r13 value t)
                  (emit `(sys.lap-x86:gs)
                        `(sys.lap-x86:mov64 (,(+ (- 8 sys.int::+tag-object+)
                                                 (* sys.int::+stack-group-offset-mv-slots+ 8)
                                                 (* i 8)))
                                            :r13))
                  (emit-gc-info :multiple-values 1)
  
negative.code: (defvar *gc-info-fixups* nil)
  (defvar *used-dynamic-extent* nil)
  
  (defconstant +binding-stack-gs-offset+ (- (* 7 8) sys.int::+tag-object+))
  (defconstant +tls-base-offset+ (- sys.int::+tag-object+))
  (defconstant +tls-offset-shift+ (+ sys.int::+array-length-shift+ 2))
  
  