Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(775)

Unified Diff: src/objects.h

Issue 46030: Implementing __defineSetter__ and __defineGetter__ with an array index as arg... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/objects.cc » ('j') | src/objects.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « no previous file | src/objects.cc » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698