From 9bc7fc6b1dca6aa8e7602f584da4cb987c3e4b8f Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sat, 21 Jan 1989 09:09:28 +0000 Subject: [PATCH] Change simplicity analysis: previously all inline coded combinations were treated as simple, now there are some (e.g. generic arithmetic) which are not. There is still a problem relating to type checking which could cause problems: if a type or range check fails in an otherwise simple inlined combination, the exception handling is not simple. This should be fixed without making the entire combination non-simple. --- v7/src/compiler/fgopt/simple.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/v7/src/compiler/fgopt/simple.scm b/v7/src/compiler/fgopt/simple.scm index 252c9de4f..7d88a0022 100644 --- a/v7/src/compiler/fgopt/simple.scm +++ b/v7/src/compiler/fgopt/simple.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fgopt/simple.scm,v 4.3 1988/12/12 21:52:08 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fgopt/simple.scm,v 4.4 1989/01/21 09:09:28 cph Rel $ -Copyright (c) 1987 Massachusetts Institute of Technology +Copyright (c) 1987, 1989 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -79,7 +79,8 @@ MIT in each case. |# ((APPLICATION) (case (application-type node) ((COMBINATION) - (if (combination/inline? node) + (if (and (combination/inline? node) + (combination/inline/simple? node)) (walk/return-operator (combination/continuation node) continuation) (let ((callee (rvalue-known-value (combination/operator node)))) (and callee -- 2.25.1