Index: src/objects.h |
=================================================================== |
--- src/objects.h (revision 1504) |
+++ src/objects.h (working copy) |
@@ -707,6 +707,8 @@ |
Object* structure, |
String* name, |
Object* holder); |
+ Object* GetPropertyWithDefinedGetter(Object* receiver, |
+ JSFunction* getter); |
inline Object* GetElement(uint32_t index); |
Object* GetElementWithReceiver(Object* receiver, uint32_t index); |
@@ -1168,6 +1170,8 @@ |
String* name, |
Object* value, |
JSObject* holder); |
+ Object* SetPropertyWithDefinedSetter(JSFunction* setter, |
+ Object* value); |
Object* SetPropertyWithInterceptor(String* name, |
Object* value, |
PropertyAttributes attributes); |
@@ -1295,6 +1299,7 @@ |
void LookupRealNamedProperty(String* name, LookupResult* result); |
void LookupRealNamedPropertyInPrototypes(String* name, LookupResult* result); |
void LookupCallbackSetterInPrototypes(String* name, LookupResult* result); |
+ Object* LookupCallbackSetterInPrototypes(uint32_t index); |
void LookupCallback(String* name, LookupResult* result); |
// Returns the number of properties on this object filtering out properties |
@@ -1990,11 +1995,15 @@ |
Object* AddStringEntry(String* key, Object* value, PropertyDetails details); |
Object* AddNumberEntry(uint32_t key, Object* value, PropertyDetails details); |
- // Set and existing string entry or add a new one if needed. |
+ // Set and existing entry or add a new one if needed. |
Mads Ager (chromium)
2009/03/13 10:27:14
I know this is not your comment, but could you fix
olehougaard
2009/03/13 11:39:46
Fixed.
|
Object* SetOrAddStringEntry(String* key, |
Object* value, |
PropertyDetails details); |
+ Object* SetOrAddNumberEntry(uint32_t key, |
+ Object* value, |
+ PropertyDetails details); |
+ |
// Returns the number of elements in the dictionary filtering out properties |
// with the specified attributes. |
int NumberOfElementsFilterAttributes(PropertyAttributes filter); |
@@ -2016,8 +2025,9 @@ |
// If slow elements are required we will never go back to fast-case |
// for the elements kept in this dictionary. We require slow |
// elements if an element has been added at an index larger than |
- // kRequiresSlowElementsLimit. |
+ // kRequiresSlowElementsLimit or set_requires_slow_elements() has been called. |
Mads Ager (chromium)
2009/03/13 10:27:14
Maybe state the real reason here: if a getter or s
olehougaard
2009/03/13 11:39:46
Fixed.
|
inline bool requires_slow_elements(); |
+ inline void set_requires_slow_elements(); |
// Get the value of the max number key that has been added to this |
// dictionary. max_number_key can only be called if |
@@ -2050,6 +2060,8 @@ |
static const int kRequiresSlowElementsTagSize = 1; |
static const uint32_t kRequiresSlowElementsLimit = (1 << 29) - 1; |
+ void UpdateMaxNumberKey(uint32_t key); |
+ |
private: |
// Generic at put operation. |
Object* AtPut(HashTableKey* key, Object* value); |
@@ -2068,8 +2080,6 @@ |
Object* value, |
PropertyDetails details); |
- void UpdateMaxNumberKey(uint32_t key); |
- |
// Generate new enumeration indices to avoid enumeration index overflow. |
Object* GenerateNewEnumerationIndices(); |