Index: src/crankshaft/mips/lithium-codegen-mips.cc |
diff --git a/src/crankshaft/mips/lithium-codegen-mips.cc b/src/crankshaft/mips/lithium-codegen-mips.cc |
index c14cebf6631a78b274e0acfbaec82f231593059f..4e3352076fe8eb60c162a5c7896effd4b66e935c 100644 |
--- a/src/crankshaft/mips/lithium-codegen-mips.cc |
+++ b/src/crankshaft/mips/lithium-codegen-mips.cc |
@@ -5470,19 +5470,10 @@ void LCodeGen::DoOsrEntry(LOsrEntry* instr) { |
void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) { |
Register result = ToRegister(instr->result()); |
Register object = ToRegister(instr->object()); |
- __ And(at, object, kSmiTagMask); |
- DeoptimizeIf(eq, instr, Deoptimizer::kSmi, at, Operand(zero_reg)); |
- |
- STATIC_ASSERT(JS_PROXY_TYPE == FIRST_JS_RECEIVER_TYPE); |
- __ GetObjectType(object, a1, a1); |
- DeoptimizeIf(le, instr, Deoptimizer::kNotAJavaScriptObject, a1, |
- Operand(JS_PROXY_TYPE)); |
Label use_cache, call_runtime; |
DCHECK(object.is(a0)); |
- Register null_value = t1; |
- __ LoadRoot(null_value, Heap::kNullValueRootIndex); |
- __ CheckEnumCache(null_value, &call_runtime); |
+ __ CheckEnumCache(&call_runtime); |
__ lw(result, FieldMemOperand(object, HeapObject::kMapOffset)); |
__ Branch(&use_cache); |
@@ -5491,11 +5482,6 @@ void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) { |
__ bind(&call_runtime); |
__ push(object); |
CallRuntime(Runtime::kGetPropertyNamesFast, instr); |
- |
- __ lw(a1, FieldMemOperand(v0, HeapObject::kMapOffset)); |
- DCHECK(result.is(v0)); |
- __ LoadRoot(at, Heap::kMetaMapRootIndex); |
- DeoptimizeIf(ne, instr, Deoptimizer::kWrongMap, a1, Operand(at)); |
__ bind(&use_cache); |
} |