From 2a3f6a88619d2291d2832d22536157583ac18b93 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 8 Nov 1988 08:24:57 +0000 Subject: [PATCH] Change `cons-closure' from a statement to an expression. This allows us more freedom in choosing the target register. --- v7/src/compiler/machines/bobcat/dassm2.scm | 3 +-- v7/src/compiler/machines/bobcat/machin.scm | 6 +----- v7/src/compiler/rtlbase/rtlexp.scm | 4 +++- v7/src/compiler/rtlbase/rtlty1.scm | 5 ++--- v7/src/compiler/rtlbase/rtlty2.scm | 5 +---- 5 files changed, 8 insertions(+), 15 deletions(-) diff --git a/v7/src/compiler/machines/bobcat/dassm2.scm b/v7/src/compiler/machines/bobcat/dassm2.scm index 8e8654c2d..ef80ed40f 100644 --- a/v7/src/compiler/machines/bobcat/dassm2.scm +++ b/v7/src/compiler/machines/bobcat/dassm2.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/dassm2.scm,v 4.9 1988/11/04 02:24:53 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/dassm2.scm,v 4.10 1988/11/08 08:24:13 cph Exp $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -326,7 +326,6 @@ MIT in each case. |# (8 . (REGISTER VALUE)) (12 . (REGISTER ENVIRONMENT)) (16 . (REGISTER TEMPORARY)) - (20 . (REGISTER INTERPRETER-CALL-RESULT:ENCLOSE)) ;; Compiler temporaries ,@(let loop ((index 40) (i 0)) (if (= i 50) diff --git a/v7/src/compiler/machines/bobcat/machin.scm b/v7/src/compiler/machines/bobcat/machin.scm index 2e7a67642..86b267f8f 100644 --- a/v7/src/compiler/machines/bobcat/machin.scm +++ b/v7/src/compiler/machines/bobcat/machin.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/machin.scm,v 4.12 1988/11/03 06:31:15 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/machin.scm,v 4.13 1988/11/08 08:23:25 cph Exp $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -80,7 +80,6 @@ MIT in each case. |# ((VALUE) 2) ((ENVIRONMENT) 3) ((TEMPORARY) 4) - ((INTERPRETER-CALL-RESULT:ENCLOSE) 5) (else false))) (define (rtl:interpreter-register->offset locative) @@ -157,9 +156,6 @@ MIT in each case. |# (define-integrable (interpreter-register:cache-unassigned?) (rtl:make-machine-register d0)) -(define-integrable (interpreter-register:enclose) - (rtl:make-offset (interpreter-regs-pointer) 5)) - (define-integrable (interpreter-register:lookup) (rtl:make-machine-register d0)) diff --git a/v7/src/compiler/rtlbase/rtlexp.scm b/v7/src/compiler/rtlbase/rtlexp.scm index 57b6a5cc3..d0441b2a6 100644 --- a/v7/src/compiler/rtlbase/rtlexp.scm +++ b/v7/src/compiler/rtlbase/rtlexp.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlexp.scm,v 4.9 1988/11/01 04:52:48 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlexp.scm,v 4.10 1988/11/08 08:21:41 cph Exp $ Copyright (c) 1987, 1988 Massachusetts Institute of Technology @@ -52,6 +52,7 @@ MIT in each case. |# (define-integrable (rtl:trivial-expression? expression) (memq (rtl:expression-type expression) '(ASSIGNMENT-CACHE + CONS-CLOSURE CONSTANT ENTRY:CONTINUATION ENTRY:PROCEDURE @@ -64,6 +65,7 @@ MIT in each case. |# (memq (rtl:expression-type expression) '(ASSIGNMENT-CACHE CHAR->ASCII + CONS-CLOSURE FIXNUM-1-ARG FIXNUM-2-ARGS OBJECT->ADDRESS diff --git a/v7/src/compiler/rtlbase/rtlty1.scm b/v7/src/compiler/rtlbase/rtlty1.scm index aabac5305..b2514b2b7 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 4.12 1988/11/01 04:53:11 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty1.scm,v 4.13 1988/11/08 08:21:03 cph Rel $ Copyright (c) 1987, 1988 Massachusetts Institute of Technology @@ -51,6 +51,7 @@ MIT in each case. |# (define-rtl-expression pre-increment rtl: register number) (define-rtl-expression post-increment rtl: register number) +(define-rtl-expression cons-closure rtl: procedure min max size) (define-rtl-expression cons-pointer rtl: type datum) (define-rtl-expression constant % value) (define-rtl-expression assignment-cache rtl: name) @@ -86,8 +87,6 @@ MIT in each case. |# (define-rtl-statement procedure-header rtl: procedure min max) (define-rtl-statement closure-header rtl: procedure) -(define-rtl-statement cons-closure rtl: procedure min max size) - (define-rtl-statement interpreter-call:access % environment name) (define-rtl-statement interpreter-call:define % environment name value) (define-rtl-statement interpreter-call:lookup % environment name safe?) diff --git a/v7/src/compiler/rtlbase/rtlty2.scm b/v7/src/compiler/rtlbase/rtlty2.scm index fde72c17d..2c11bc357 100644 --- a/v7/src/compiler/rtlbase/rtlty2.scm +++ b/v7/src/compiler/rtlbase/rtlty2.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty2.scm,v 4.5 1988/06/14 08:37:23 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlbase/rtlty2.scm,v 4.6 1988/11/08 08:24:57 cph Rel $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -77,9 +77,6 @@ MIT in each case. |# (define-integrable (rtl:interpreter-call-result:cache-unassigned?) (rtl:make-fetch 'INTERPRETER-CALL-RESULT:CACHE-UNASSIGNED?)) -(define-integrable (rtl:interpreter-call-result:enclose) - (rtl:make-fetch 'INTERPRETER-CALL-RESULT:ENCLOSE)) - (define-integrable (rtl:interpreter-call-result:lookup) (rtl:make-fetch 'INTERPRETER-CALL-RESULT:LOOKUP)) -- 2.25.1