Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 231b69440299dadb7837501a03658534aa764c47..f2d0c014f0ecd4199f541f728395a2c360937691 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1663,8 +1663,12 @@ class JSReceiver: public HeapObject { |
MUST_USE_RESULT MaybeObject* SetPropertyWithDefinedSetter(JSReceiver* setter, |
Object* value); |
- MUST_USE_RESULT MaybeObject* DeleteProperty(Name* name, DeleteMode mode); |
- MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); |
+ static Handle<Object> DeleteProperty(Handle<JSReceiver> object, |
+ Handle<Name> name, |
+ DeleteMode mode = NORMAL_DELETION); |
+ static Handle<Object> DeleteElement(Handle<JSReceiver> object, |
+ uint32_t index, |
+ DeleteMode mode); |
// Set the index'th array element. |
// Can cause GC, or return failure if GC is required. |
@@ -1901,10 +1905,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,12 +1995,9 @@ 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); |
+ static Handle<Object> DeleteElement(Handle<JSObject> obj, |
+ uint32_t index, |
+ DeleteMode mode = NORMAL_DELETION); |
MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); |
inline void ValidateElements(); |
@@ -2430,6 +2427,7 @@ class JSObject: public JSReceiver { |
private: |
friend class DictionaryElementsAccessor; |
+ friend class JSReceiver; |
MUST_USE_RESULT MaybeObject* GetElementWithCallback(Object* receiver, |
Object* structure, |
@@ -2475,9 +2473,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 +5459,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 +8671,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 +8714,15 @@ class JSProxy: public JSReceiver { |
kSize> BodyDescriptor; |
private: |
+ friend class JSReceiver; |
+ |
+ static Handle<Object> DeletePropertyWithHandler(Handle<JSProxy> object, |
+ Handle<Name> name, |
+ DeleteMode mode); |
+ static Handle<Object> DeleteElementWithHandler(Handle<JSProxy> object, |
+ uint32_t index, |
+ DeleteMode mode); |
+ |
DISALLOW_IMPLICIT_CONSTRUCTORS(JSProxy); |
}; |