Separate target-block field from initial-callees field in procedure
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Wed, 2 Feb 1994 01:49:03 +0000 (01:49 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Wed, 2 Feb 1994 01:49:03 +0000 (01:49 +0000)
objects.

The target-block field is useful in the debugging information, to be
able to walk the procedure chain when debugging.

v7/src/compiler/base/infnew.scm
v7/src/compiler/base/make.scm
v7/src/compiler/base/proced.scm

index 2b4583d316fdd398ba4f65d615acfac60b74dc94..1d60285ebac3ec3e236e1b3e73c13a34eda06e81 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: infnew.scm,v 4.10 1993/10/12 07:27:38 cph Exp $
+$Id: infnew.scm,v 4.11 1994/02/02 01:48:39 gjr Exp $
 
-Copyright (c) 1988-93 Massachusetts Institute of Technology
+Copyright (c) 1988-1994 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -130,10 +130,12 @@ MIT in each case. |#
                           dbg-block-name/static-link)))
       (make-dbg-block 'STACK
                      (block->dbg-block parent)
-                     (and (procedure/closure? procedure)
-                          (block->dbg-block
-                           (reference-context/block
-                            (procedure-closure-context procedure))))
+                     (if (procedure/closure? procedure)
+                         (block->dbg-block
+                          (reference-context/block
+                           (procedure-closure-context procedure)))
+                         (block->dbg-block
+                          (procedure-target-block procedure)))
                      layout
                      (block->dbg-block (block-stack-link block))))))
 
index b1e282a79af3e3a5072d56b6bfc8f4d996817ea8..51c2b7ba44ab940e3d197cc5511f3a54ca7f72ba 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: make.scm,v 4.104 1994/01/08 21:06:59 gjr Exp $
+$Id: make.scm,v 4.105 1994/02/02 01:49:03 gjr Exp $
 
 Copyright (c) 1988-1994 Massachusetts Institute of Technology
 
@@ -54,5 +54,5 @@ MIT in each case. |#
     (initialize-package! '(COMPILER DECLARATIONS)))
   (add-system!
    (make-system (string-append "Liar (" architecture-name ")")
-               4 102
+               4 103
                '())))
\ No newline at end of file
index eb039454a8d99194039102991e9fa7158a2f8962..16613e97ce7a1bdeef728d203f6e6ab954f2e4a3 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/base/proced.scm,v 4.17 1990/11/19 22:50:26 cph Rel $
+$Id: proced.scm,v 4.18 1994/02/02 01:48:25 gjr Exp $
 
-Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
+Copyright (c) 1988-1994 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -58,8 +58,8 @@ MIT in each case. |#
   closure-offset       ;for closure, offset of procedure in stack frame
   register             ;for continuation, argument register
   closure-size         ;for closure, virtual size of frame [integer or false]
-  (target-block                ;where procedure is "really" closed [block]
-   initial-callees)    ;procs. invoked by me directly
+  target-block         ;where procedure is "really" closed [block]
+  initial-callees      ;procs. invoked by me directly
   (free-callees                ;procs. invoked by means of free variables (1)
    callees)            ;procs. invoked by me (transitively)
   (free-callers                ;procs. that invoke me by means of free variables (1)
@@ -71,7 +71,7 @@ MIT in each case. |#
   alist                        ;random bits of information [assq list]
   debugging-info       ;[dbg-procedure or dbg-continuation]
   )
-
+\f
 ;; (1) The first meaning is used during closure analysis.
 ;;     The second meaning is used during side-effect analysis.
 
@@ -88,9 +88,25 @@ MIT in each case. |#
                      (list-copy optional)
                      (if (eq? type continuation-type/procedure)
                          rest
-                         '())          ;initial continuation/combinations
-                     (generate-label name) false false false false false
-                     false false false false false false '() '() '() false)))
+                         '())
+                     (generate-label name)     ; label
+                     false                     ; applications
+                     false                     ; always-known-operator?
+                     false                     ; closure-cons
+                     false                     ; closure-context
+                     false                     ; closure-offset
+                     false                     ; register
+                     false                     ; closure-size
+                     false                     ; target-block
+                     false                     ; initial-callees
+                     false                     ; free-callees/callees
+                     false                     ; free-callers/callers
+                     false                     ; virtual-closure?
+                     '()                       ; closure-reasons
+                     '()                       ; variables/side-effects
+                     '()                       ; alist
+                     false                     ; debugging-info
+                     )))
     (set! *procedures* (cons procedure *procedures*))
     (set-block-procedure! block procedure)
     procedure))