aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-02-26 12:55:47 +0000
committerdos-reis <gdr@axiomatics.org>2011-02-26 12:55:47 +0000
commit2cd5fff635d7b7954a220cf474172b4c0955cb55 (patch)
treebca83750b3e7579f8f992d6abc0b392caca4f94d /src/interp
parent19879cbdaa8f64442135f29896e02725e435483a (diff)
downloadopen-axiom-2cd5fff635d7b7954a220cf474172b4c0955cb55.tar.gz
* interp/g-opt.boot (canInlineVarDefinition): Observe order of
evaluation.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/g-opt.boot2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index b119ce5f..e6e8b934 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -540,7 +540,7 @@ canInlineVarDefinition(var,expr,body) ==
-- side-effected latter, it is alos a no no.
or/[varIsAssigned(x,body) for x in dependentVars expr] => false
-- Conversatively preserve order of inialization
- body is ['%bind,:.] => false
+ cons? body and body.op in '(%bind LET %loop %collect) => false
-- Linearly used internal temporaries should be replaced, and
-- so should side-effet free initializers for linear variables.
usageCount := numOfOccurencesOf(var,body)