anchor.diff:  (in-package :sys.int)
  -
  -(defparameter *step-special-functions*
  -  '(cons cons-in-area mezzano.runtime::%allocate-object mezzano.supervisor:thread-yield))
   
   (defun fetch-thread-function-arguments (thread)
     (let ((count (mezzano.supervisor:thread-state-rcx-value thread))
  
positive.code:       (push (%object-ref-t thread (+ mezzano.supervisor::+thread-mv-slots-start+ i)) vals))
      (subseq (reverse vals) 0 count)))
  
  (defun safe-single-step-thread (thread)
    (check-type thread mezzano.supervisor:thread)
    (assert (eql (mezzano.supervisor:thread-state thread) :stopped))
  
negative.code:              (mezzano.supervisor::single-step-thread thread)
               (return-from safe-single-step-thread))
             (format t "Stepping over special function ~S.~%" fn)
             ;; Point RIP at single-step-wrapper and RBX (&CLOSURE) at the function to wrap.
             (setf (mezzano.supervisor:thread-state-rbx-value thread) fn
                   (mezzano.supervisor:thread-state-rip thread) (%object-ref-unsigned-byte-64 #'single-step-wrapper +function-entry-point+))
             (mezzano.supervisor::resume-thread thread)
             ;; Wait for the thread to stop or die.
             (loop
                (when (member (mezzano.supervisor::thread-state thread) '(:stopped :dead))
                  (return))
                (mezzano.supervisor::thread-yield)))
            (t
             (mezzano.supervisor::single-step-thread thread)))))
  
  