| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 103e93e8c4ac2547bea8167c190803000071ea6a..57fc05c82c9dc9745b8b2dcb23994a8f6ede6563 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -3582,6 +3582,11 @@ class Dictionary: public HashTable<Derived, Shape, Key> {
|
| Handle<Object> value,
|
| PropertyDetails details);
|
|
|
| + // Returns iteration indices array for the |dictionary|.
|
| + // Values are direct indices in the |HashTable| array.
|
| + static Handle<FixedArray> BuildIterationIndicesArray(
|
| + Handle<Derived> dictionary);
|
| +
|
| protected:
|
| // Generic at put operation.
|
| MUST_USE_RESULT static Handle<Derived> AtPut(
|
| @@ -3598,7 +3603,9 @@ class Dictionary: public HashTable<Derived, Shape, Key> {
|
| uint32_t hash);
|
|
|
| // Generate new enumeration indices to avoid enumeration index overflow.
|
| - static void GenerateNewEnumerationIndices(Handle<Derived> dictionary);
|
| + // Returns iteration indices array for the |dictionary|.
|
| + static Handle<FixedArray> GenerateNewEnumerationIndices(
|
| + Handle<Derived> dictionary);
|
| static const int kMaxNumberKeyIndex = DerivedHashTable::kPrefixStartIndex;
|
| static const int kNextEnumerationIndexIndex = kMaxNumberKeyIndex + 1;
|
| };
|
| @@ -3627,7 +3634,7 @@ class NameDictionary: public Dictionary<NameDictionary,
|
|
|
| // Copies enumerable keys to preallocated fixed array.
|
| void CopyEnumKeysTo(FixedArray* storage);
|
| - inline static void DoGenerateNewEnumerationIndices(
|
| + inline static Handle<FixedArray> DoGenerateNewEnumerationIndices(
|
| Handle<NameDictionary> dictionary);
|
|
|
| // Find entry for key, otherwise return kNotFound. Optimized version of
|
|
|