Index: src/arm/lithium-arm.cc |
=================================================================== |
--- src/arm/lithium-arm.cc (revision 8836) |
+++ src/arm/lithium-arm.cc (working copy) |
@@ -1039,7 +1039,11 @@ |
: instr->SecondSuccessor(); |
return new LGoto(successor->block_id()); |
} |
- return new LBranch(UseRegisterAtStart(v)); |
+ LInstruction* branch = new LBranch(UseRegister(v)); |
+ // When we handle all cases, we never deopt, so we don't need to assign the |
+ // environment then. |
Erik Corry
2011/08/05 12:50:46
Do we hit this case in the tests?
I would guess i
Sven Panne
2011/08/09 07:58:21
Currently it happens quite often, because we fall
|
+ bool all_cases_handled = instr->expected_input_types().IsAll(); |
+ return all_cases_handled ? branch : AssignEnvironment(branch); |
} |