0.pre7.14.flaky4.2:
[sbcl.git] / src / code / debug-int.lisp
index bda0c48..a63c1ba 100644 (file)
 ;;; to replace FRAME. The interpreted frame points to FRAME.
 (defun possibly-an-interpreted-frame (frame up-frame)
   (if (or (not frame)
-         (not (eq (debug-function-name (frame-debug-function frame))
-                  'sb!eval::internal-apply-loop))
+         #!+sb-interpreter (not (eq (debug-function-name (frame-debug-function
+                                                          frame))
+                                    'sb!eval::internal-apply-loop))
+         #!-sb-interpreter t
          *debugging-interpreter*
          (compiled-frame-escaped frame))
       frame
 #!+x86
 (defun find-escaped-frame (frame-pointer)
   (declare (type system-area-pointer frame-pointer))
-  (dotimes (index sb!impl::*free-interrupt-context-index* (values nil 0 nil))
+  (dotimes (index *free-interrupt-context-index* (values nil 0 nil))
     (sb!alien:with-alien
        ((lisp-interrupt-contexts (array (* os-context-t) nil)
                                  :extern))
 #!-x86
 (defun find-escaped-frame (frame-pointer)
   (declare (type system-area-pointer frame-pointer))
-  (dotimes (index sb!impl::*free-interrupt-context-index* (values nil 0 nil))
+  (dotimes (index *free-interrupt-context-index* (values nil 0 nil))
     (sb!alien:with-alien
      ((lisp-interrupt-contexts (array (* os-context-t) nil) :extern))
      (let ((scp (sb!alien:deref lisp-interrupt-contexts index)))
    code-locations at which execution would continue with frame as the top
    frame if someone threw to the corresponding tag."
   (let ((catch
-        #!-gengc (descriptor-sap sb!impl::*current-catch-block*)
+        #!-gengc (descriptor-sap *current-catch-block*)
         #!+gengc (mutator-current-catch-block))
        (res nil)
        (fp (frame-pointer (frame-real-frame frame))))
     (#.sb!vm:closure-header-type
      (function-debug-function (%closure-function fun)))
     (#.sb!vm:funcallable-instance-header-type
-     (cond ((sb!eval:interpreted-function-p fun)
+     (cond #!+sb-interpreter
+          ((sb!eval:interpreted-function-p fun)
            (make-interpreted-debug-function
             (or (sb!eval::interpreted-function-definition fun)
                 (sb!eval::convert-interpreted-fun fun))))
        (if (indirect-value-cell-p res)
           (sb!c:value-cell-ref res)
           res)))
+    #!+sb-interpreter
     (interpreted-debug-var
      (aver (typep frame 'interpreted-frame))
      (sb!eval::leaf-value-lambda-var
        (if (indirect-value-cell-p current-value)
           (sb!c:value-cell-set current-value value)
           (set-compiled-debug-var-slot debug-var frame value))))
+    #!+sb-interpreter
     (interpreted-debug-var
      (aver (typep frame 'interpreted-frame))
      (sb!eval::set-leaf-value-lambda-var
                                                         sb!vm::nfp-offset))
                                #!-alpha
                                (sap-ref-sap fp
-                                                   (* sb!vm::nfp-save-offset
-                                                      sb!vm:word-bytes))
+                                            (* sb!vm::nfp-save-offset
+                                               sb!vm:word-bytes))
                                #!+alpha
-                               (%alpha::make-number-stack-pointer
+                               (sb!vm::make-number-stack-pointer
                                 (sap-ref-32 fp
-                                                   (* sb!vm::nfp-save-offset
-                                                      sb!vm:word-bytes))))))
+                                            (* sb!vm::nfp-save-offset
+                                               sb!vm:word-bytes))))))
                  ,@body)))
     (ecase (sb!c:sc-offset-scn sc-offset)
       ((#.sb!vm:any-reg-sc-number
       ;; so we just leave it up to the C code.
       (breakpoint-do-displaced-inst signal-context
                                    (breakpoint-data-instruction data))
-      ; Under HPUX we can't sigreturn so bp-do-disp-i has to return.
-      #!-(or hpux irix x86)
+      ;; Some platforms have no usable sigreturn() call.  If your
+      ;; implementation of arch_do_displaced_inst() doesn't sigreturn(),
+      ;; add it to this list.
+      #!-(or hpux irix x86 alpha)
       (error "BREAKPOINT-DO-DISPLACED-INST returned?"))))
 
 (defun invoke-breakpoint-hooks (breakpoints component offset)