From: Henry M. Wu Date: Thu, 31 Mar 1988 21:35:23 +0000 (+0000) Subject: Add case to `subproblem->expression' for trivial closure consing. X-Git-Tag: 20090517-FFI~12840 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=52a743c0a73d68eb25d1d0a423c4cd980d85c59e;p=mit-scheme.git Add case to `subproblem->expression' for trivial closure consing. --- 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))