floitsch@google.com
|
8281292638
|
Fix bad code-generation for nested-ifs in for loops.
In the builder we compile (x && y && z) into nested ifs. Before
code-emission we try to detect this pattern:
If
/ \
/ \
1 expr1 \
If \
/ \ \
/ \ goto
1 expr2 |
goto goto |
\ / |
\ / |
phi1(expr2, true|false) <=== nested if's join block
\ |
\ |
phi(phi1, true|false)
However we forgot to verify that the nested if's join block didn't
contain any expression.
Fixes issue 4826.
Review URL: https://chromiumcodereview.appspot.com//10917012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11627 260f80e4-7a28-3924-810f-c04153c831b5
|
2012-08-30 16:53:47 +00:00 |
|