anchor.diff:  (defconstant +thread-preemption-pending+ 8)
   (defconstant +thread-next+ 9)
   (defconstant +thread-prev+ 10)
  -(defconstant +thread-inhibit-interrupt+ 11)
  +(defconstant +thread-foothold-disable-depth+ 11)
   (defconstant +thread-mv-slots-start+ 32)
   (defconstant +thread-mv-slots-end+ 128)
   (defconstant +thread-tls-slots-start+ 128)
  
positive.code:                   ;; todo: SMP.
                    (:active (error "what?"))
                    (:runnable
                     ;; Wait for THREAD-INHIBIT-INTERRUPT to become false.
                     (do ()
                         ((not (thread-inhibit-interrupt thread)))
                       ;; Drop the lock & reschedule.
                       (%unlock-thread thread)
                       (sys.int::%sti)
  
negative.code: ;;    Forward link to the next thread in whatever list the thread is in.
  ;; 10 prev
  ;;    Backward link to the previous thread in whatever list the thread is in.
  ;; 11 foothold-disable-depth
  ;;    Zero when ESTABLISH-THREAD-FOOTHOLD may break into the thread.
  ;;    DESTROY-THREAD will also be unable to destroy the thread unless the abort option is set.
  ;; 32-127 MV slots
  ;;    Slots used as part of the multiple-value return convention.
  