Index: src/ia32/lithium-ia32.cc |
=================================================================== |
--- src/ia32/lithium-ia32.cc (revision 8757) |
+++ src/ia32/lithium-ia32.cc (working copy) |
@@ -1041,7 +1041,10 @@ |
: instr->SecondSuccessor(); |
return new LGoto(successor->block_id()); |
} |
- return new LBranch(UseRegisterAtStart(v)); |
+ ToBooleanStub::Types expected = instr->expected_input_types(); |
+ bool needs_temp = expected.NeedsMap() || expected.IsEmpty(); |
+ LOperand* temp = needs_temp ? TempRegister() : NULL; |
+ return AssignEnvironment(new LBranch(UseRegister(v), temp)); |
} |