| Index: src/crankshaft/arm64/lithium-codegen-arm64.cc
|
| diff --git a/src/crankshaft/arm64/lithium-codegen-arm64.cc b/src/crankshaft/arm64/lithium-codegen-arm64.cc
|
| index bebc6cde667df89ab311c37a6dce15239cb1fc1a..c215e0fa92ac953dfbee7c947238234c6b7f61e6 100644
|
| --- a/src/crankshaft/arm64/lithium-codegen-arm64.cc
|
| +++ b/src/crankshaft/arm64/lithium-codegen-arm64.cc
|
| @@ -2716,20 +2716,12 @@ void LCodeGen::DoForInCacheArray(LForInCacheArray* instr) {
|
|
|
| void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) {
|
| Register object = ToRegister(instr->object());
|
| - Register null_value = x5;
|
|
|
| DCHECK(instr->IsMarkedAsCall());
|
| DCHECK(object.Is(x0));
|
|
|
| - DeoptimizeIfSmi(object, instr, Deoptimizer::kSmi);
|
| -
|
| - STATIC_ASSERT(JS_PROXY_TYPE == FIRST_JS_RECEIVER_TYPE);
|
| - __ CompareObjectType(object, x1, x1, JS_PROXY_TYPE);
|
| - DeoptimizeIf(le, instr, Deoptimizer::kNotAJavaScriptObject);
|
| -
|
| Label use_cache, call_runtime;
|
| - __ LoadRoot(null_value, Heap::kNullValueRootIndex);
|
| - __ CheckEnumCache(object, null_value, x1, x2, x3, x4, &call_runtime);
|
| + __ CheckEnumCache(object, x5, x1, x2, x3, x4, &call_runtime);
|
|
|
| __ Ldr(object, FieldMemOperand(object, HeapObject::kMapOffset));
|
| __ B(&use_cache);
|
| @@ -2738,11 +2730,6 @@ void LCodeGen::DoForInPrepareMap(LForInPrepareMap* instr) {
|
| __ Bind(&call_runtime);
|
| __ Push(object);
|
| CallRuntime(Runtime::kGetPropertyNamesFast, instr);
|
| -
|
| - __ Ldr(x1, FieldMemOperand(object, HeapObject::kMapOffset));
|
| - DeoptimizeIfNotRoot(x1, Heap::kMetaMapRootIndex, instr,
|
| - Deoptimizer::kWrongMap);
|
| -
|
| __ Bind(&use_cache);
|
| }
|
|
|
|
|