Change `apply-stack' prefix to subtract 1 from the n-levels, because
authorChris Hanson <org/chris-hanson/cph>
Mon, 27 Apr 1987 16:28:49 +0000 (16:28 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 27 Apr 1987 16:28:49 +0000 (16:28 +0000)
the innermost stack frame does not have a message receiver pushed.

v7/src/compiler/rtlgen/rgcomb.scm

index 1dbfb9f8026e2233931c0f90e617a6ea3e95161f..010bdc440a0a162d343e061e6fbc39a18c79d6ca 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 1.12 1987/04/21 16:57:05 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 1.13 1987/04/27 16:28:49 cph Exp $
 
 Copyright (c) 1987 Massachusetts Institute of Technology
 
@@ -482,11 +482,12 @@ MIT in each case. |#
   (let ((block (combination-block combination)))
     `(APPLY-STACK ,number-pushed
                  ,(+ number-pushed (block-frame-size block))
-                 ,(block-ancestor-distance
-                   block
-                   (block-parent
-                    (procedure-block
-                     (combination-known-operator combination)))))))
+                 ,(-1+
+                   (block-ancestor-distance
+                    block
+                    (block-parent
+                     (procedure-block
+                      (combination-known-operator combination))))))))
 
 (define (invocation-prefix:internal->sibling combination number-pushed)
    `(MOVE-FRAME-UP ,number-pushed