aboutsummaryrefslogtreecommitdiff
path: root/src
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
parent19879cbdaa8f64442135f29896e02725e435483a (diff)
downloadopen-axiom-2cd5fff635d7b7954a220cf474172b4c0955cb55.tar.gz
* interp/g-opt.boot (canInlineVarDefinition): Observe order of
evaluation.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/g-opt.boot2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 18878936..90e2b934 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2011-02-26 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/g-opt.boot (canInlineVarDefinition): Observe order of
+ evaluation.
+
2011-02-25 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/g-opt.boot (optNot): Push %not inside conditionals.
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)