| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 7089c762242e5b500a65722944f5c161a28bda27..33cfd011af44a9a469285e5b9377b6c2ba96f7e2 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -2317,46 +2317,6 @@ void LCodeGen::DoCmpConstantEqAndBranch(LCmpConstantEqAndBranch* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoIsNilAndBranch(LIsNilAndBranch* instr) {
|
| - Register reg = ToRegister(instr->value());
|
| - int false_block = chunk_->LookupDestination(instr->false_block_id());
|
| -
|
| - // If the expression is known to be untagged or a smi, then it's definitely
|
| - // not null, and it can't be a an undetectable object.
|
| - if (instr->hydrogen()->representation().IsSpecialization() ||
|
| - instr->hydrogen()->type().IsSmi()) {
|
| - EmitGoto(false_block);
|
| - return;
|
| - }
|
| -
|
| - int true_block = chunk_->LookupDestination(instr->true_block_id());
|
| - Handle<Object> nil_value = instr->nil() == kNullValue ?
|
| - factory()->null_value() :
|
| - factory()->undefined_value();
|
| - __ cmp(reg, nil_value);
|
| - if (instr->kind() == kStrictEquality) {
|
| - EmitBranch(true_block, false_block, equal);
|
| - } else {
|
| - Handle<Object> other_nil_value = instr->nil() == kNullValue ?
|
| - factory()->undefined_value() :
|
| - factory()->null_value();
|
| - Label* true_label = chunk_->GetAssemblyLabel(true_block);
|
| - Label* false_label = chunk_->GetAssemblyLabel(false_block);
|
| - __ j(equal, true_label);
|
| - __ cmp(reg, other_nil_value);
|
| - __ j(equal, true_label);
|
| - __ JumpIfSmi(reg, false_label);
|
| - // Check for undetectable objects by looking in the bit field in
|
| - // the map. The object has already been smi checked.
|
| - Register scratch = ToRegister(instr->temp());
|
| - __ mov(scratch, FieldOperand(reg, HeapObject::kMapOffset));
|
| - __ movzx_b(scratch, FieldOperand(scratch, Map::kBitFieldOffset));
|
| - __ test(scratch, Immediate(1 << Map::kIsUndetectable));
|
| - EmitBranch(true_block, false_block, not_zero);
|
| - }
|
| -}
|
| -
|
| -
|
| Condition LCodeGen::EmitIsObject(Register input,
|
| Register temp1,
|
| Label* is_not_object,
|
|
|