Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index 418e0c5f7c9cfbcfba491a0b1021e1f95492a9dd..8639698051041118a6eb108706dde664df16ff80 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1004,6 +1004,16 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { |
// We got a fixed array in register r0. Iterate through that. |
Label non_proxy; |
__ bind(&fixed_array); |
+ |
+ Handle<JSGlobalPropertyCell> cell = |
+ isolate()->factory()->NewJSGlobalPropertyCell( |
+ Handle<Object>( |
+ Smi::FromInt(TypeFeedbackCells::kForInFastCaseMarker))); |
+ RecordTypeFeedbackCell(stmt->PrepareId(), cell); |
+ __ LoadHeapObject(r1, cell); |
+ __ mov(r2, Operand(Smi::FromInt(TypeFeedbackCells::kForInSlowCaseMarker))); |
+ __ str(r2, FieldMemOperand(r1, JSGlobalPropertyCell::kValueOffset)); |
+ |
__ mov(r1, Operand(Smi::FromInt(1))); // Smi indicates slow check |
__ ldr(r2, MemOperand(sp, 0 * kPointerSize)); // Get enumerated object |
STATIC_ASSERT(FIRST_JS_PROXY_TYPE == FIRST_SPEC_OBJECT_TYPE); |