Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index dc503e96ed5e69705492fa097f533da5d6025515..5c0b187c7bca6a2be9e21db46a941ad67a9da86d 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -10801,7 +10801,7 @@ class KeyAccumulator final BASE_EMBEDDED { |
| public: |
| explicit KeyAccumulator(Isolate* isolate, |
| KeyFilter filter = KeyFilter::SKIP_SYMBOLS) |
| - : isolate_(isolate), filter_(filter), length_(0), levelLength_(0) {} |
| + : isolate_(isolate), filter_(filter) {} |
| ~KeyAccumulator(); |
| bool AddKey(uint32_t key); |
| @@ -10812,11 +10812,13 @@ class KeyAccumulator final BASE_EMBEDDED { |
| void AddKeys(Handle<JSObject> array, |
| AddKeyConversion convert = DO_NOT_CONVERT); |
| void AddKeysFromProxy(Handle<JSObject> array); |
| + void AddElementKeysFromInterceptor(Handle<JSObject> array); |
| // Jump to the next level, pushing the current |levelLength_| to |
| // |levelLengths_| and adding a new list to |elements_|. |
| void NextPrototype(); |
| // Sort the integer indices in the last list in |elements_| |
| void SortCurrentElementsList(); |
| + void SortRemoveDuplicates(); |
|
Igor Sheludko
2015/10/26 10:22:04
WDYT: SortCurrentElementsListRemoveDuplicates()?
Camillo Bruni
2015/10/26 13:56:01
indeed better :)
|
| Handle<FixedArray> GetKeys(GetKeysConversion convert = KEEP_NUMBERS); |
| @@ -10824,17 +10826,17 @@ class KeyAccumulator final BASE_EMBEDDED { |
| Isolate* isolate_; |
| KeyFilter filter_; |
| // |elements_| contains the sorted element keys (indices) per level. |
| - List<List<uint32_t>*> elements_; |
| + std::vector<std::vector<uint32_t>*> elements_; |
| // |protoLengths_| contains the total number of keys (elements + properties) |
| // per level. Negative values mark counts for a level with keys from a proxy. |
| - List<int> levelLengths_; |
| + std::vector<int> levelLengths_; |
| // |properties_| contains the property keys per level in insertion order. |
| Handle<OrderedHashSet> properties_; |
| // |length_| keeps track of the total number of all element and property keys. |
| - int length_; |
| + int length_ = 0; |
| // |levelLength_| keeps track of the total number of keys |
| // (elements + properties) in the current level. |
| - int levelLength_; |
| + int levelLength_ = 0; |
| DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); |
| }; |