| Index: src/full-codegen/arm64/full-codegen-arm64.cc
|
| diff --git a/src/full-codegen/arm64/full-codegen-arm64.cc b/src/full-codegen/arm64/full-codegen-arm64.cc
|
| index 0314b5f9c2b5cf2ab8a2601d6231ebb296494359..c61df0db12af23edc64d25a2a5003ea5030b187f 100644
|
| --- a/src/full-codegen/arm64/full-codegen-arm64.cc
|
| +++ b/src/full-codegen/arm64/full-codegen-arm64.cc
|
| @@ -1101,13 +1101,7 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) {
|
| __ Mov(x10, Operand(TypeFeedbackVector::MegamorphicSentinel(isolate())));
|
| int vector_index = SmiFromSlot(slot)->value();
|
| __ Str(x10, FieldMemOperand(x1, FixedArray::OffsetOfElementAt(vector_index)));
|
| -
|
| - __ Mov(x1, Smi::FromInt(1)); // Smi indicates slow check.
|
| - __ Peek(x10, 0); // Get enumerated object.
|
| - STATIC_ASSERT(JS_PROXY_TYPE == FIRST_JS_RECEIVER_TYPE);
|
| - __ CompareObjectType(x10, x11, x12, JS_PROXY_TYPE);
|
| - DCHECK(Smi::FromInt(0) == 0);
|
| - __ CzeroX(x1, eq); // Zero indicates proxy.
|
| + __ Mov(x1, Smi::FromInt(1)); // Smi(1) indicates slow check.
|
| __ Ldr(x2, FieldMemOperand(x0, FixedArray::kLengthOffset));
|
| // Smi and array, fixed array length (as smi) and initial index.
|
| __ Push(x1, x0, x2, xzr);
|
| @@ -1138,11 +1132,6 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) {
|
| __ Cmp(x11, x2);
|
| __ B(eq, &update_each);
|
|
|
| - // For proxies, no filtering is done.
|
| - // TODO(rossberg): What if only a prototype is a proxy? Not specified yet.
|
| - STATIC_ASSERT(kSmiTag == 0);
|
| - __ Cbz(x2, &update_each);
|
| -
|
| // Convert the entry to a string or (smi) 0 if it isn't a property
|
| // any more. If the property has been removed while iterating, we
|
| // just skip it.
|
|
|