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 |