Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index cf24756e3df464c6f193f3babf099ce11ea3960f..61ec21239bbad01932b049792dbe50010fb6f7ff 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -3040,21 +3040,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); |
} |