Stack-marker frames must be identifiable as such. Several things
authorChris Hanson <org/chris-hanson/cph>
Thu, 23 Sep 1993 03:36:13 +0000 (03:36 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 23 Sep 1993 03:36:13 +0000 (03:36 +0000)
depend on this.  Also, it's very undesirable for such frames to be
identified as subproblem frames; if so, they clutter up the debugger
output significantly.

v7/src/runtime/conpar.scm
v8/src/runtime/conpar.scm

index e1ed2f30e286f667e1b129bfd71631534951fb33..771f56220fa1dbd82fcbc31ab42dedef44997941 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: conpar.scm,v 14.29 1993/09/11 21:26:50 gjr Exp $
+$Id: conpar.scm,v 14.30 1993/09/23 03:36:13 cph Exp $
 
-Copyright (c) 1988-1993 Massachusetts Institute of Technology
+Copyright (c) 1988-93 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -337,28 +337,27 @@ MIT in each case. |#
     (cond ((fix:= code code/special-compiled/internal-apply)
           (parse/standard-next type elements state false false))
          ((fix:= code code/special-compiled/restore-interrupt-mask)
-          (parser/%%stack-marker (parser-state/dynamic-state state)
-                                 (vector-ref elements 2)
-                                 type elements state))
+          (parser/%stack-marker (parser-state/dynamic-state state)
+                                (vector-ref elements 2)
+                                stack-frame-type/stack-marker
+                                (vector-tail elements 1)
+                                state))
          ((fix:= code code/special-compiled/stack-marker)
-          (parser/%stack-marker (vector-ref elements 2)
-                                (vector-ref elements 3)
-                                type elements state))
+          (parser/stack-marker stack-frame-type/stack-marker
+                               (vector-tail elements 1)
+                               state))
          ((fix:= code code/special-compiled/compiled-code-bkpt)
           (parse/standard-next type elements state false false))
          (else
           (error "Unknown special compiled frame" code)))))
 \f
 (define (parser/stack-marker type elements state)
-  (parser/%stack-marker (vector-ref elements 1)
-                       (vector-ref elements 2)
-                       type elements state))
-
-(define (parser/%stack-marker marker marker2 type elements state)
-  (let ((continue
+  (let ((marker (vector-ref elements 1))
+       (marker2 (vector-ref elements 2))
+       (continue
         (lambda (dynamic-state interrupt-mask)
-          (parser/%%stack-marker dynamic-state interrupt-mask
-                                 type elements state))))
+          (parser/%stack-marker dynamic-state interrupt-mask
+                                type elements state))))
     (cond ((eq? marker %translate-to-state-point)
           (continue (merge-dynamic-state (parser-state/dynamic-state state)
                                          marker2)
@@ -370,8 +369,8 @@ MIT in each case. |#
           (continue (parser-state/dynamic-state state)
                     (parser-state/interrupt-mask state))))))
 
-(define (parser/%%stack-marker dynamic-state interrupt-mask
-                              type elements state)
+(define (parser/%stack-marker dynamic-state interrupt-mask
+                             type elements state)
   (parser/standard
    type
    elements
index e1ed2f30e286f667e1b129bfd71631534951fb33..771f56220fa1dbd82fcbc31ab42dedef44997941 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: conpar.scm,v 14.29 1993/09/11 21:26:50 gjr Exp $
+$Id: conpar.scm,v 14.30 1993/09/23 03:36:13 cph Exp $
 
-Copyright (c) 1988-1993 Massachusetts Institute of Technology
+Copyright (c) 1988-93 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -337,28 +337,27 @@ MIT in each case. |#
     (cond ((fix:= code code/special-compiled/internal-apply)
           (parse/standard-next type elements state false false))
          ((fix:= code code/special-compiled/restore-interrupt-mask)
-          (parser/%%stack-marker (parser-state/dynamic-state state)
-                                 (vector-ref elements 2)
-                                 type elements state))
+          (parser/%stack-marker (parser-state/dynamic-state state)
+                                (vector-ref elements 2)
+                                stack-frame-type/stack-marker
+                                (vector-tail elements 1)
+                                state))
          ((fix:= code code/special-compiled/stack-marker)
-          (parser/%stack-marker (vector-ref elements 2)
-                                (vector-ref elements 3)
-                                type elements state))
+          (parser/stack-marker stack-frame-type/stack-marker
+                               (vector-tail elements 1)
+                               state))
          ((fix:= code code/special-compiled/compiled-code-bkpt)
           (parse/standard-next type elements state false false))
          (else
           (error "Unknown special compiled frame" code)))))
 \f
 (define (parser/stack-marker type elements state)
-  (parser/%stack-marker (vector-ref elements 1)
-                       (vector-ref elements 2)
-                       type elements state))
-
-(define (parser/%stack-marker marker marker2 type elements state)
-  (let ((continue
+  (let ((marker (vector-ref elements 1))
+       (marker2 (vector-ref elements 2))
+       (continue
         (lambda (dynamic-state interrupt-mask)
-          (parser/%%stack-marker dynamic-state interrupt-mask
-                                 type elements state))))
+          (parser/%stack-marker dynamic-state interrupt-mask
+                                type elements state))))
     (cond ((eq? marker %translate-to-state-point)
           (continue (merge-dynamic-state (parser-state/dynamic-state state)
                                          marker2)
@@ -370,8 +369,8 @@ MIT in each case. |#
           (continue (parser-state/dynamic-state state)
                     (parser-state/interrupt-mask state))))))
 
-(define (parser/%%stack-marker dynamic-state interrupt-mask
-                              type elements state)
+(define (parser/%stack-marker dynamic-state interrupt-mask
+                             type elements state)
   (parser/standard
    type
    elements