Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 4ba4c95f42f43b6c095445bb76582acb16147bdc..2a8f00f07b669c41947e60ba9b81b08dc2fb5482 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -2798,10 +2798,12 @@ class FixedArray: public FixedArrayBase { |
int new_length, |
PretenureFlag pretenure = NOT_TENURED); |
+ enum KeyFilter { ALL_KEYS, NON_SYMBOL_KEYS }; |
+ |
// Add the elements of a JSArray to this FixedArray. |
MUST_USE_RESULT static MaybeHandle<FixedArray> AddKeysFromArrayLike( |
- Handle<FixedArray> content, |
- Handle<JSObject> array); |
+ Handle<FixedArray> content, Handle<JSObject> array, |
+ KeyFilter filter = ALL_KEYS); |
// Computes the union of keys and return the result. |
// Used for implementing "for (n in object) { }" |
@@ -10734,6 +10736,12 @@ class InterceptorInfo: public Struct { |
DECL_ACCESSORS(deleter, Object) |
DECL_ACCESSORS(enumerator, Object) |
DECL_ACCESSORS(data, Object) |
+ DECL_BOOLEAN_ACCESSORS(can_intercept_symbols) |
+ |
+ // TODO(wingo): Remove flags field once all interceptors can intercept |
+ // symbols. |
+ inline int flags() const; |
+ inline void set_flags(int flags); |
DECLARE_CAST(InterceptorInfo) |
@@ -10747,7 +10755,10 @@ class InterceptorInfo: public Struct { |
static const int kDeleterOffset = kQueryOffset + kPointerSize; |
static const int kEnumeratorOffset = kDeleterOffset + kPointerSize; |
static const int kDataOffset = kEnumeratorOffset + kPointerSize; |
- static const int kSize = kDataOffset + kPointerSize; |
+ static const int kFlagsOffset = kDataOffset + kPointerSize; |
+ static const int kSize = kFlagsOffset + kPointerSize; |
+ |
+ static const int kCanInterceptSymbolsBit = 0; |
private: |
DISALLOW_IMPLICIT_CONSTRUCTORS(InterceptorInfo); |