anchor.diff:  :IGNORE-FUNCTIONS - A list of function names to be removed from the call stack."
     `(call-with-profiling (lambda () ,@body) ,@options))
   
  -(defun call-with-profiling (function &key buffer-size path (thread t) (verbosity :report) (prune (eql thread 't)) (ignore-functions *ignorable-function-names*))
  +(defun call-with-profiling (function &key buffer-size path (thread t) (verbosity :report) (prune (eql thread 't)) (ignore-functions *ignorable-function-names*) repeat)
     (let* ((profile-buffer nil)
            (results (unwind-protect
                          (progn
  
positive.code:                           :thread (if (eq thread t)
                                        (mezzano.supervisor:current-thread)
                                        thread))
                           (multiple-value-list (funcall function)))
                      (setf profile-buffer (mezzano.supervisor:stop-profiling)))))
      (setf profile-buffer (decode-profile-buffer profile-buffer (if prune #'call-with-profiling nil) ignore-functions))
      (cond (path
  
negative.code:   wait-item
    call-stack)
  
  (defmacro with-profiling ((&whole options &key buffer-size path thread verbosity prune ignore-functions repeat) &body body)
    "Profile BODY.
  :THREAD - Thread to sample.
            If NIL, then sample all threads.
  