Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 2d4ff0f5bd1f37103d20a77d6d38730d3ee81d84..efefe01f6782446de1d84bc0fa46ba585970aa25 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1369,6 +1369,13 @@ class JSReceiver: public HeapObject { |
CERTAINLY_NOT_STORE_FROM_KEYED |
}; |
+ // Internal properties (e.g. the hidden properties dictionary) might |
+ // be added even though the receiver is non-extensible. |
+ enum ExtensibilityCheck { |
+ PERFORM_EXTENSIBILITY_CHECK, |
+ OMIT_EXTENSIBILITY_CHECK |
+ }; |
+ |
// Casting. |
static inline JSReceiver* cast(Object* obj); |
@@ -1567,7 +1574,8 @@ class JSObject: public JSReceiver { |
String* name, |
Object* value, |
PropertyAttributes attributes, |
- StrictModeFlag strict_mode); |
+ StrictModeFlag strict_mode, |
+ ExtensibilityCheck extensibility_check); |
static Handle<Object> SetLocalPropertyIgnoreAttributes( |
Handle<JSObject> object, |
@@ -1959,7 +1967,8 @@ class JSObject: public JSReceiver { |
Object* value, |
PropertyAttributes attributes, |
StrictModeFlag strict_mode, |
- StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); |
+ StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED, |
+ ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); |
// Convert the object to use the canonical dictionary |
// representation. If the object is expected to have additional properties |