Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 26b008a9468610b00ab63357aa93a2af3d647b41..3e83eda46f82b11c190041a7e29b0dd6d12272e9 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -2148,6 +2148,13 @@ class JSObject: public JSReceiver { |
StrictMode strict_mode, |
StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); |
+ // SetLocalPropertyIgnoreAttributes converts callbacks to fields. We need to |
+ // grant an exemption to ExecutableAccessor callbacks in some cases. |
+ enum ExecutableAccessorInfoHandling { |
+ DEFAULT_HANDLING, |
+ DONT_FORCE_FIELD |
+ }; |
+ |
MUST_USE_RESULT static MaybeHandle<Object> SetOwnPropertyIgnoreAttributes( |
Handle<JSObject> object, |
Handle<Name> key, |
@@ -2156,7 +2163,8 @@ class JSObject: public JSReceiver { |
ValueType value_type = OPTIMAL_REPRESENTATION, |
StoreMode mode = ALLOW_AS_CONSTANT, |
ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK, |
- StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); |
+ StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED, |
+ ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); |
static void AddProperty(Handle<JSObject> object, |
Handle<Name> key, |