| 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);
|
|
|