From a476c26aad39918f7e198d224968f8577ae88ebc Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Fri, 3 Jul 1987 18:58:24 +0000 Subject: [PATCH] Add new invocation type for uuo-link invocations. --- v7/src/compiler/rtlbase/rtlcon.scm | 56 +++++++++++++----------------- v7/src/compiler/rtlbase/rtlty1.scm | 4 +-- v7/src/compiler/rtlopt/rcse1.scm | 3 +- 3 files changed, 28 insertions(+), 35 deletions(-) diff --git a/v7/src/compiler/rtlbase/rtlcon.scm b/v7/src/compiler/rtlbase/rtlcon.scm index 5a6753f29..884c70e6f 100644 --- a/v7/src/compiler/rtlbase/rtlcon.scm +++ b/v7/src/compiler/rtlbase/rtlcon.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlcon.scm,v 1.9 1987/06/02 11:34:59 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlcon.scm,v 1.10 1987/07/03 18:56:57 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -143,53 +143,45 @@ MIT in each case. |# ;;;; Invocations (define (rtl:make-invocation:apply frame-size prefix continuation) - (%make-invocation:apply frame-size - prefix - (and continuation - (continuation-label continuation)))) + (%make-invocation:apply + frame-size prefix (and continuation (continuation-label continuation)))) (define (rtl:make-invocation:cache-reference frame-size prefix continuation extension) (expression-simplify-for-statement extension (lambda (extension) - (%make-invocation:cache-reference frame-size - prefix - (and continuation - (continuation-label continuation)) - extension)))) + (%make-invocation:cache-reference + frame-size prefix (and continuation (continuation-label continuation)) + extension)))) (define (rtl:make-invocation:jump frame-size prefix continuation procedure) - (%make-invocation:jump frame-size - prefix - (and continuation - (continuation-label continuation)) - (procedure-label procedure))) + (%make-invocation:jump + frame-size prefix (and continuation (continuation-label continuation)) + (procedure-label procedure))) (define (rtl:make-invocation:lexpr frame-size prefix continuation procedure) - (%make-invocation:lexpr frame-size - prefix - (and continuation - (continuation-label continuation)) - (procedure-label procedure))) + (%make-invocation:lexpr + frame-size prefix (and continuation (continuation-label continuation)) + (procedure-label procedure))) (define (rtl:make-invocation:lookup frame-size prefix continuation environment name) (expression-simplify-for-statement environment (lambda (environment) - (%make-invocation:lookup frame-size - prefix - (and continuation - (continuation-label continuation)) - environment - name)))) + (%make-invocation:lookup + frame-size prefix (and continuation (continuation-label continuation)) + environment name)))) (define (rtl:make-invocation:primitive frame-size prefix continuation procedure) - (%make-invocation:primitive frame-size - prefix - (and continuation - (continuation-label continuation)) - procedure)) + (%make-invocation:primitive + frame-size prefix (and continuation (continuation-label continuation)) + procedure)) + +(define (rtl:make-invocation:uuo-link frame-size prefix continuation name) + (%make-invocation:uuo-link + frame-size prefix (and continuation (continuation-label continuation)) + name)) ;;;; Expression Simplification @@ -347,4 +339,4 @@ MIT in each case. |# (receiver (rtl:make-cons-pointer type datum)))))))) ;;; end EXPRESSION-SIMPLIFY package -) \ No newline at end of file +) diff --git a/v7/src/compiler/rtlbase/rtlty1.scm b/v7/src/compiler/rtlbase/rtlty1.scm index 6abddf5ab..13fb9d96d 100644 --- a/v7/src/compiler/rtlbase/rtlty1.scm +++ b/v7/src/compiler/rtlbase/rtlty1.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty1.scm,v 1.11 1987/07/02 21:02:31 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty1.scm,v 1.12 1987/07/03 18:56:20 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -47,7 +47,6 @@ MIT in each case. |# (define-rtl-expression cons-pointer rtl: type datum) (define-rtl-expression constant % value) (define-rtl-expression variable-cache rtl: name) -(define-rtl-expression uuo-link rtl: name) (define-rtl-expression entry:continuation % continuation) (define-rtl-expression entry:procedure % procedure) (define-rtl-expression offset-address rtl: register number) @@ -84,6 +83,7 @@ MIT in each case. |# environment name) (define-rtl-statement invocation:primitive % pushed prefix continuation procedure) +(define-rtl-statement invocation:uuo-link % pushed prefix continuation name) (define-rtl-statement message-sender:value rtl: size) (define-rtl-statement message-receiver:closure rtl: size) diff --git a/v7/src/compiler/rtlopt/rcse1.scm b/v7/src/compiler/rtlopt/rcse1.scm index e02cbe25b..b033be97d 100644 --- a/v7/src/compiler/rtlopt/rcse1.scm +++ b/v7/src/compiler/rtlopt/rcse1.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcse1.scm,v 1.110 1987/06/30 00:21:20 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcse1.scm,v 1.111 1987/07/03 18:58:24 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -203,6 +203,7 @@ MIT in each case. |# (define-cse-method 'INVOCATION:JUMP method/noop) (define-cse-method 'INVOCATION:LEXPR method/noop) (define-cse-method 'INVOCATION:PRIMITIVE method/noop) +(define-cse-method 'INVOCATION:UUO-LINK method/noop) (define (method/invalidate-stack statement) (stack-pointer-invalidate!)) -- 2.25.1