From 52a743c0a73d68eb25d1d0a423c4cd980d85c59e Mon Sep 17 00:00:00 2001 From: "Henry M. Wu" Date: Thu, 31 Mar 1988 21:35:23 +0000 Subject: [PATCH] Add case to `subproblem->expression' for trivial closure consing. --- v7/src/compiler/rtlgen/opncod.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/v7/src/compiler/rtlgen/opncod.scm b/v7/src/compiler/rtlgen/opncod.scm index 1f8322fab..3a42b8a1b 100644 --- a/v7/src/compiler/rtlgen/opncod.scm +++ b/v7/src/compiler/rtlgen/opncod.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/opncod.scm,v 4.3 1987/12/31 08:50:13 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/opncod.scm,v 4.4 1988/03/31 21:35:23 mhwu Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -105,6 +105,11 @@ MIT in each case. |# (let ((value (rvalue-known-value rvalue))) (cond ((and value (rvalue/constant? value)) (rtl:make-constant (constant-value value))) + ((and value + (rvalue/procedure? value) + (procedure/closure? value) + (procedure/trivial-closure? value)) + (make-trivial-closure-cons value)) ((and (rvalue/reference? rvalue) (not (variable/value-variable? (reference-lvalue rvalue))) (reference-to-known-location? rvalue)) -- 2.25.1