Chromium Code Reviews
DescriptionPropagate pseudo-constants expressions separately in tree rewriter.
Two constants would fail to swap places even though there clearly is no
danger of swapping side effects. Moreover, a constant would prevent other
expressions from propagating.
Example:
var z = foo();
var y = 1;
bar('x', y, z); // neither foo() or 1 propagates past 'x'
This change may be made redundant in the future by a more sophisticated
side-effect analysis.
But for now, it helps debugging since the code is more readable and
it's easier to see if other rewritings are working when they are not
blocked by redundant variable assignments.
BUG=
R=kmillikin@google.com
Committed: https://code.google.com/p/dart/source/detail?r=43953
Patch Set 1 #
Total comments: 2
Patch Set 2 : Comment, bugfix, and test case #
Total comments: 1
Patch Set 3 : Fix indentation in test case #Patch Set 4 : Rebase #Messages
Total messages: 8 (3 generated)
|