`block/next-continuation-offset', when it found that the next thing up
authorChris Hanson <org/chris-hanson/cph>
Wed, 3 Apr 1991 00:51:09 +0000 (00:51 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 3 Apr 1991 00:51:09 +0000 (00:51 +0000)
on the stack was an "always-known" continuation, failed to take that
continuation's offset into account when determining the distance to
the continuation above that.

v7/src/compiler/rtlgen/rtlgen.scm

index e0d3051abd773429c2348226c25bf5b7435506ae..537f7434bb46e34d4a641130fd8e1bd2acf34bd7 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rtlgen.scm,v 4.25 1991/04/02 00:05:04 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rtlgen.scm,v 4.26 1991/04/03 00:51:09 cph Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -233,7 +233,8 @@ MIT in each case. |#
                         (block-procedure stack-link)))
                   (block/next-continuation-offset
                    (block-parent stack-link)
-                   offset)
+                   (+ (continuation/offset (block-procedure stack-link))
+                      offset))
                   (let ((continuation
                          (lvalue-known-value
                           (stack-block/continuation-lvalue popping-limit))))
@@ -242,7 +243,7 @@ MIT in each case. |#
                               continuation))
                         (block/next-continuation-offset
                          (continuation/closing-block continuation)
-                         offset)
+                         (+ (continuation/offset continuation) offset))
                         offset))))))
       offset))