Chromium Code Reviews| 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(); |