From: Chris Hanson Date: Mon, 18 May 1987 17:50:48 +0000 (+0000) Subject: Guarantee that the `number-pushed' entry on lexpr invocations contains X-Git-Tag: 20090517-FFI~13508 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=9acf4dc3c9bf131547bc01529e238c7f1242c958;p=mit-scheme.git Guarantee that the `number-pushed' entry on lexpr invocations contains the number of pushed operands +1 if the operator is pushed. --- diff --git a/v7/src/compiler/rtlgen/rgcomb.scm b/v7/src/compiler/rtlgen/rgcomb.scm index 934ad2e77..84b165dcb 100644 --- a/v7/src/compiler/rtlgen/rgcomb.scm +++ b/v7/src/compiler/rtlgen/rgcomb.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 1.18 1987/05/16 19:48:05 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 1.19 1987/05/18 17:50:48 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -245,8 +245,7 @@ MIT in each case. |# ;;;; Calls -(define (make-call/apply combination operator operands prefix - continuation) +(define (make-call/apply combination operator operands prefix continuation) (make-call true combination operator operands (lambda (frame-size) (rtl:make-invocation:apply frame-size @@ -283,8 +282,7 @@ MIT in each case. |# (define make-call/ic make-call/apply) -(define (make-call/primitive combination operator operands prefix - continuation) +(define (make-call/primitive combination operator operands prefix continuation) (make-call false combination operator operands (lambda (frame-size) (rtl:make-invocation:primitive @@ -326,14 +324,13 @@ MIT in each case. |# (internal-call combination prefix continuation extra))) (define (internal-call combination prefix continuation extra) - (lambda (frame-size) - (let ((operator (combination-known-operator combination)) - (frame-size (+ frame-size extra))) + (lambda (number-pushed) + (let ((operator (combination-known-operator combination))) ((if (procedure-rest operator) rtl:make-invocation:lexpr rtl:make-invocation:jump) - frame-size - (prefix combination frame-size) + number-pushed + (prefix combination (+ number-pushed extra)) continuation operator))))