Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 231b69440299dadb7837501a03658534aa764c47..2bd4335a0f8ae836aa554c312b60cf463a60d482 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1663,7 +1663,9 @@ class JSReceiver: public HeapObject { |
MUST_USE_RESULT MaybeObject* SetPropertyWithDefinedSetter(JSReceiver* setter, |
Object* value); |
- MUST_USE_RESULT MaybeObject* DeleteProperty(Name* name, DeleteMode mode); |
+ static Handle<Object> DeleteProperty(Handle<JSReceiver> object, |
+ Handle<Name> name, |
+ DeleteMode mode = NORMAL_DELETION); |
MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); |
// Set the index'th array element. |
@@ -1901,10 +1903,6 @@ class JSObject: public JSReceiver { |
Object* value, |
PropertyDetails details); |
- // Deletes the named property in a normalized object. |
- MUST_USE_RESULT MaybeObject* DeleteNormalizedProperty(Name* name, |
- DeleteMode mode); |
- |
static void OptimizeAsPrototype(Handle<JSObject> object); |
MUST_USE_RESULT MaybeObject* OptimizeAsPrototype(); |
@@ -1995,11 +1993,6 @@ class JSObject: public JSReceiver { |
MUST_USE_RESULT MaybeObject* GetIdentityHash(CreationFlag flag); |
MUST_USE_RESULT MaybeObject* SetIdentityHash(Smi* hash, CreationFlag flag); |
- static Handle<Object> DeleteProperty(Handle<JSObject> obj, |
- Handle<Name> name); |
- // Can cause GC. |
- MUST_USE_RESULT MaybeObject* DeleteProperty(Name* name, DeleteMode mode); |
- |
static Handle<Object> DeleteElement(Handle<JSObject> obj, uint32_t index); |
MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); |
@@ -2430,6 +2423,7 @@ class JSObject: public JSReceiver { |
private: |
friend class DictionaryElementsAccessor; |
+ friend class JSReceiver; |
MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver, |
Object* structure, |
@@ -2475,9 +2469,19 @@ class JSObject: public JSReceiver { |
StrictModeFlag strict_mode, |
bool* done); |
- MUST_USE_RESULT MaybeObject* DeletePropertyPostInterceptor(Name* name, |
- DeleteMode mode); |
- MUST_USE_RESULT MaybeObject* DeletePropertyWithInterceptor(Name* name); |
+ static Handle<Object> DeleteProperty(Handle<JSObject> object, |
+ Handle<Name> name, |
+ DeleteMode mode); |
+ static Handle<Object> DeletePropertyPostInterceptor(Handle<JSObject> object, |
+ Handle<Name> name, |
+ DeleteMode mode); |
+ static Handle<Object> DeletePropertyWithInterceptor(Handle<JSObject> object, |
+ Handle<Name> name); |
+ |
+ // Deletes the named property in a normalized object. |
+ static Handle<Object> DeleteNormalizedProperty(Handle<JSObject> object, |
+ Handle<Name> name, |
+ DeleteMode mode); |
MUST_USE_RESULT MaybeObject* DeleteElementWithInterceptor(uint32_t index); |
@@ -5451,6 +5455,7 @@ class Map: public HeapObject { |
MUST_USE_RESULT MaybeObject* RawCopy(int instance_size); |
MUST_USE_RESULT MaybeObject* CopyWithPreallocatedFieldDescriptors(); |
+ static Handle<Map> CopyDropDescriptors(Handle<Map> map); |
MUST_USE_RESULT MaybeObject* CopyDropDescriptors(); |
MUST_USE_RESULT MaybeObject* CopyReplaceDescriptors( |
DescriptorArray* descriptors, |
@@ -8662,13 +8667,6 @@ class JSProxy: public JSReceiver { |
StrictModeFlag strict_mode, |
bool* done); |
- MUST_USE_RESULT MaybeObject* DeletePropertyWithHandler( |
- Name* name, |
- DeleteMode mode); |
- MUST_USE_RESULT MaybeObject* DeleteElementWithHandler( |
- uint32_t index, |
- DeleteMode mode); |
- |
MUST_USE_RESULT PropertyAttributes GetPropertyAttributeWithHandler( |
JSReceiver* receiver, |
Name* name); |
@@ -8712,6 +8710,14 @@ class JSProxy: public JSReceiver { |
kSize> BodyDescriptor; |
private: |
+ friend class JSReceiver; |
+ |
+ static Handle<Object> DeletePropertyWithHandler(Handle<JSProxy> object, |
+ Handle<Name> name, |
+ DeleteMode mode); |
+ MUST_USE_RESULT MaybeObject* DeleteElementWithHandler(uint32_t index, |
+ DeleteMode mode); |
+ |
DISALLOW_IMPLICIT_CONSTRUCTORS(JSProxy); |
}; |