Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index 8a83d00732dbb47696b8bf719191c051e75cac5d..6e16e1028ef643cf1800d2a82fd08137458c5c70 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -1576,27 +1576,25 @@ class JSObject: public JSReceiver { |
| // Accessors for hidden properties object. |
| // |
| // Hidden properties are not local properties of the object itself. |
| - // Instead they are stored on an auxiliary JSObject stored as a local |
| + // Instead they are stored in an auxiliary structure kept as a local |
| // property with a special name Heap::hidden_symbol(). But if the |
| // receiver is a JSGlobalProxy then the auxiliary object is a property |
| - // of its prototype. |
| - // |
| - // Has/Get/SetHiddenPropertiesObject methods don't allow the holder to be |
| - // a JSGlobalProxy. Use BypassGlobalProxy method above to get to the real |
| - // holder. |
| - // |
| - // These accessors do not touch interceptors or accessors. |
| - inline bool HasHiddenPropertiesObject(); |
| - inline Object* GetHiddenPropertiesObject(); |
| - MUST_USE_RESULT inline MaybeObject* SetHiddenPropertiesObject( |
| - Object* hidden_obj); |
| - |
| - // Retrieves the hidden properties object. |
| - // |
| - // The undefined value might be returned in case no hidden properties object |
| - // is present and creation was omitted. |
| - inline bool HasHiddenProperties(); |
| - MUST_USE_RESULT MaybeObject* GetHiddenProperties(CreationFlag flag); |
| + // of its prototype, and if it's a detached proxy, then you can't have |
| + // hidden properties. |
| + |
| + // Sets a hidden property on this object. Returns this object if successfull, |
|
Rico
2011/09/28 08:59:56
remove one l from successfull
|
| + // undefined if called on a detached proxy, and a failure if a GC |
| + // is required |
| + MaybeObject* SetHiddenProperty(String* key, Object* value); |
| + // Gets the value of a hidden property with the given key. Returns undefined |
| + // if the property doesn't exist (or if called on a detached proxy), |
| + // otherwise returns the value set for the key. |
| + Object* GetHiddenProperty(String* key); |
| + // Deletes a hidden property. Deleting a non-existing property is |
| + // considered successful. |
| + void DeleteHiddenProperty(String* key); |
| + // Returns true if the object has a property with the hidden symbol as name. |
| + bool HasHiddenProperties(); |
| MUST_USE_RESULT MaybeObject* GetIdentityHash(CreationFlag flag); |
| MUST_USE_RESULT MaybeObject* SetIdentityHash(Object* hash, CreationFlag flag); |
| @@ -2037,6 +2035,15 @@ class JSObject: public JSReceiver { |
| void LookupInDescriptor(String* name, LookupResult* result); |
| + // Returns the hidden properties backing store object, currently |
| + // a StringDictionary, stored on this object. |
| + // If no hidden properties object has been put on this object, |
| + // return undefined, unless create_if_absent is true, in which case |
| + // a new dictionary is created, added to this object, and returned. |
| + MaybeObject* GetHiddenPropertiesDictionary(bool create_if_absent); |
| + // Updates the existing hidden properties dictionary. |
| + MaybeObject* SetHiddenPropertiesDictionary(StringDictionary* dictionary); |
| + |
| DISALLOW_IMPLICIT_CONSTRUCTORS(JSObject); |
| }; |
| @@ -2862,7 +2869,7 @@ class StringDictionary: public Dictionary<StringDictionaryShape, String*> { |
| JSObject* obj, |
| int unused_property_fields); |
| - // Find entry for key otherwise return kNotFound. Optimzed version of |
| + // Find entry for key, otherwise return kNotFound. Optimized version of |
| // HashTable::FindEntry. |
| int FindEntry(String* key); |
| }; |