Chromium Code Reviews| Index: src/full-codegen.cc |
| =================================================================== |
| --- src/full-codegen.cc (revision 8228) |
| +++ src/full-codegen.cc (working copy) |
| @@ -441,7 +441,7 @@ |
| // For simplicity we always test the accumulator register. |
| __ Move(result_register(), reg); |
| codegen()->PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL); |
| - codegen()->DoTest(true_label_, false_label_, fall_through_); |
| + codegen()->DoTest(condition_, true_label_, false_label_, fall_through_); |
| } |
| @@ -463,7 +463,7 @@ |
| // For simplicity we always test the accumulator register. |
| __ pop(result_register()); |
| codegen()->PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL); |
| - codegen()->DoTest(true_label_, false_label_, fall_through_); |
| + codegen()->DoTest(condition_, true_label_, false_label_, fall_through_); |
| } |
| @@ -744,9 +744,9 @@ |
| Label discard, restore; |
| PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL); |
| if (is_logical_and) { |
| - DoTest(&discard, &restore, &restore); |
| + DoTest(expr, &discard, &restore, &restore); |
|
fschneider
2011/06/10 09:18:18
Shouldn't the test of the left subexpressions get
Kevin Millikin (Chromium)
2011/06/10 09:35:06
I think you could do it either way (as long as the
Sven Panne
2011/06/14 08:04:48
Done.
|
| } else { |
| - DoTest(&restore, &discard, &restore); |
| + DoTest(expr, &restore, &discard, &restore); |
| } |
| __ bind(&restore); |
| __ pop(result_register()); |
| @@ -763,9 +763,9 @@ |
| Label discard; |
| PrepareForBailoutBeforeSplit(TOS_REG, false, NULL, NULL); |
| if (is_logical_and) { |
| - DoTest(&discard, &done, &discard); |
| + DoTest(expr, &discard, &done, &discard); |
| } else { |
| - DoTest(&done, &discard, &discard); |
| + DoTest(expr, &done, &discard, &discard); |
| } |
| __ bind(&discard); |
| __ Drop(1); |