Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index 98a049b64abed3387a1d5f6c380a48c1fed8c78f..1ea97ca6db4e7033bc6f959723071109b3c3f6ae 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -3044,21 +3044,15 @@ void LCodeGen::DoInstanceSize(LInstanceSize* instr) { |
} |
-void LCodeGen::DoCmpT(LCmpT* instr) { |
+void LCodeGen::DoCompareGenericAndBranch(LCompareGenericAndBranch* instr) { |
Token::Value op = instr->op(); |
Handle<Code> ic = CompareIC::GetUninitialized(isolate(), op); |
CallCode(ic, RelocInfo::CODE_TARGET, instr); |
Condition condition = ComputeCompareCondition(op); |
- Label true_value, done; |
__ test(eax, Operand(eax)); |
- __ j(condition, &true_value, Label::kNear); |
- __ mov(ToRegister(instr->result()), factory()->false_value()); |
- __ jmp(&done, Label::kNear); |
- __ bind(&true_value); |
- __ mov(ToRegister(instr->result()), factory()->true_value()); |
- __ bind(&done); |
+ EmitBranch(instr, condition); |
} |