| Index: src/key-accumulator.h
|
| diff --git a/src/key-accumulator.h b/src/key-accumulator.h
|
| index 2c90bba1651b87ef9da64a91aaf06395f802e71c..9daee10cd357bf758340f143958b4d0862c45519 100644
|
| --- a/src/key-accumulator.h
|
| +++ b/src/key-accumulator.h
|
| @@ -31,8 +31,9 @@ enum AddKeyConversion { DO_NOT_CONVERT, CONVERT_TO_ARRAY_INDEX, PROXY_MAGIC };
|
| // are more compact and allow for reasonably fast includes check.
|
| class KeyAccumulator final BASE_EMBEDDED {
|
| public:
|
| - KeyAccumulator(Isolate* isolate, PropertyFilter filter)
|
| - : isolate_(isolate), filter_(filter) {}
|
| + KeyAccumulator(Isolate* isolate, KeyCollectionType type,
|
| + PropertyFilter filter)
|
| + : isolate_(isolate), type_(type), filter_(filter) {}
|
| ~KeyAccumulator();
|
|
|
| bool AddKey(uint32_t key);
|
| @@ -59,6 +60,7 @@ class KeyAccumulator final BASE_EMBEDDED {
|
| void SortCurrentElementsListRemoveDuplicates();
|
|
|
| Isolate* isolate_;
|
| + KeyCollectionType type_;
|
| PropertyFilter filter_;
|
| // |elements_| contains the sorted element keys (indices) per level.
|
| std::vector<std::vector<uint32_t>*> elements_;
|
| @@ -71,6 +73,7 @@ class KeyAccumulator final BASE_EMBEDDED {
|
| // |symbol_properties_| contains the unique Symbol property keys for all
|
| // levels in insertion order per level.
|
| Handle<OrderedHashSet> symbol_properties_;
|
| + Handle<FixedArray> ownProxyKeys_;
|
| // |length_| keeps track of the total number of all element and property keys.
|
| int length_ = 0;
|
| // |levelLength_| keeps track of the number of String keys in the current
|
|
|