From ed9fc412c3acfe391e533dc286e4245a632c4095 Mon Sep 17 00:00:00 2001 From: Stephen Adams Date: Mon, 27 Feb 1995 17:33:45 +0000 Subject: [PATCH] Tweaked with (IF ) --- v8/src/compiler/midend/cpsconv.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/v8/src/compiler/midend/cpsconv.scm b/v8/src/compiler/midend/cpsconv.scm index 9658c110d..88989235d 100644 --- a/v8/src/compiler/midend/cpsconv.scm +++ b/v8/src/compiler/midend/cpsconv.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: cpsconv.scm,v 1.5 1995/02/11 02:50:11 adams Exp $ +$Id: cpsconv.scm,v 1.6 1995/02/27 17:33:45 adams Exp $ Copyright (c) 1994 Massachusetts Institute of Technology @@ -295,10 +295,14 @@ MIT in each case. |# next))))))) (define-cps-converter IF (cont pred conseq alt) - (if (and (form/simple&side-effect-free? pred) - (form/pseudo-simple&side-effect-free? conseq) - (form/pseudo-simple&side-effect-free? alt)) - (cpsconv/return form cont (cpsconv/simple/copy form)) + (if (form/simple? pred) + (if (and (not (eq? (cpsconv/cont/kind cont) 'NAMED)) + (form/pseudo-simple? conseq) + (form/pseudo-simple? alt)) + (cpsconv/return form cont (cpsconv/simple/copy form)) + `(IF ,(cpsconv/simple/copy pred) + ,(cpsconv/expr cont conseq) + ,(cpsconv/expr cont alt))) ;; This does anchor pointing by default? (let ((consname (cpsconv/new-name 'CONS)) (altname (cpsconv/new-name 'ALT)) -- 2.25.1