| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 1ea97ca6db4e7033bc6f959723071109b3c3f6ae..98a049b64abed3387a1d5f6c380a48c1fed8c78f 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -3044,15 +3044,21 @@ 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);
|
| CallCode(ic, RelocInfo::CODE_TARGET, instr);
|
|
|
| Condition condition = ComputeCompareCondition(op);
|
| + Label true_value, done;
|
| __ test(eax, Operand(eax));
|
| - EmitBranch(instr, condition);
|
| + __ 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);
|
| }
|
|
|
|
|
|
|