Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 2114) |
+++ src/objects.h (working copy) |
@@ -1275,9 +1275,12 @@ |
return GetLocalPropertyAttribute(name) != ABSENT; |
} |
- Object* DeleteProperty(String* name); |
- Object* DeleteElement(uint32_t index); |
- Object* DeleteLazyProperty(LookupResult* result, String* name); |
+ enum DeleteMode { NORMAL_DELETION, FORCE_DELETION }; |
+ Object* DeleteProperty(String* name, DeleteMode mode); |
+ Object* DeleteElement(uint32_t index, DeleteMode mode); |
+ Object* DeleteLazyProperty(LookupResult* result, |
+ String* name, |
+ DeleteMode mode); |
// Tests for the fast common case for property enumeration. |
bool IsSimpleEnum(); |
@@ -1519,10 +1522,10 @@ |
Object* GetElementPostInterceptor(JSObject* receiver, uint32_t index); |
- Object* DeletePropertyPostInterceptor(String* name); |
+ Object* DeletePropertyPostInterceptor(String* name, DeleteMode mode); |
Object* DeletePropertyWithInterceptor(String* name); |
- Object* DeleteElementPostInterceptor(uint32_t index); |
+ Object* DeleteElementPostInterceptor(uint32_t index, DeleteMode mode); |
Object* DeleteElementWithInterceptor(uint32_t index); |
PropertyAttributes GetPropertyAttributePostInterceptor(JSObject* receiver, |
@@ -2057,7 +2060,7 @@ |
int FindNumberEntry(uint32_t index); |
// Delete a property from the dictionary. |
- Object* DeleteProperty(int entry); |
+ Object* DeleteProperty(int entry, JSObject::DeleteMode mode); |
// Type specific at put (default NONE attributes is used when adding). |
Object* AtStringPut(String* key, Object* value); |
@@ -2628,7 +2631,7 @@ |
static const int kHasInstanceCallHandler = 6; |
static const int kIsAccessCheckNeeded = 7; |
- // Bit positions for but field 2 |
+ // Bit positions for bit field 2 |
static const int kNeedsLoading = 0; |
private: |