Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 316a5df070e6aae0193ebc191c1054327a88de77..0c5b973d3821bef5347aa0813561f53318450edc 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -2888,7 +2888,7 @@ void LCodeGen::DoInstanceSize(LInstanceSize* instr) { |
} |
-void LCodeGen::DoCompareGenericAndBranch(LCompareGenericAndBranch* instr) { |
+void LCodeGen::DoCmpT(LCmpT* instr) { |
Token::Value op = instr->op(); |
Handle<Code> ic = CompareIC::GetUninitialized(isolate(), op); |
@@ -2897,7 +2897,12 @@ void LCodeGen::DoCompareGenericAndBranch(LCompareGenericAndBranch* instr) { |
__ cmp(r0, Operand::Zero()); |
Condition condition = ComputeCompareCondition(op); |
- EmitBranch(instr, condition); |
+ __ LoadRoot(ToRegister(instr->result()), |
+ Heap::kTrueValueRootIndex, |
+ condition); |
+ __ LoadRoot(ToRegister(instr->result()), |
+ Heap::kFalseValueRootIndex, |
+ NegateCondition(condition)); |
} |