Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index 582038cca64ea6cd8e8ae83ced0b43ec80968d0a..8566fd5cbd81090de53afc2ee3133134c6871eda 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -1199,9 +1199,7 @@ class Object { |
| MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithAccessor( |
| LookupIterator* it); |
| MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithAccessor( |
| - Handle<Object> receiver, Handle<Name> name, Handle<Object> value, |
| - Handle<JSObject> holder, Handle<Object> structure, |
| - LanguageMode language_mode); |
| + LookupIterator* it, Handle<Object> value, LanguageMode language_mode); |
| MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithDefinedGetter( |
| Handle<Object> receiver, |
| @@ -1216,10 +1214,6 @@ class Object { |
| Handle<Object> object, |
| uint32_t index); |
| - MUST_USE_RESULT static MaybeHandle<Object> SetElementWithReceiver( |
| - Isolate* isolate, Handle<Object> object, Handle<Object> receiver, |
| - uint32_t index, Handle<Object> value, LanguageMode language_mode); |
| - |
| static inline Handle<Object> GetPrototypeSkipHiddenPrototypes( |
| Isolate* isolate, Handle<Object> receiver); |
| @@ -1674,7 +1668,7 @@ class JSReceiver: public HeapObject { |
| MUST_USE_RESULT static MaybeHandle<Object> SetElement( |
| Handle<JSReceiver> object, uint32_t index, Handle<Object> value, |
| - PropertyAttributes attributes, LanguageMode language_mode); |
| + LanguageMode language_mode); |
| // Implementation of [[HasProperty]], ECMA-262 5th edition, section 8.12.6. |
| MUST_USE_RESULT static inline Maybe<bool> HasProperty( |
| @@ -1857,21 +1851,24 @@ class JSObject: public JSReceiver { |
| MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithInterceptor( |
| LookupIterator* it, Handle<Object> value); |
| - // SetLocalPropertyIgnoreAttributes converts callbacks to fields. We need to |
| - // grant an exemption to ExecutableAccessor callbacks in some cases. |
| - enum ExecutableAccessorInfoHandling { |
| - DEFAULT_HANDLING, |
| - DONT_FORCE_FIELD |
| - }; |
| - |
| MUST_USE_RESULT static MaybeHandle<Object> SetOwnPropertyIgnoreAttributes( |
| Handle<JSObject> object, Handle<Name> name, Handle<Object> value, |
| - PropertyAttributes attributes, |
| - ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); |
| + PropertyAttributes attributes); |
| + |
| + MUST_USE_RESULT static MaybeHandle<Object> SetOwnElementIgnoreAttributes( |
| + Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| + PropertyAttributes attributes); |
| + |
| + MUST_USE_RESULT static MaybeHandle<Object> ReconfigureAsDataProperty( |
| + LookupIterator* it, Handle<Object> value, PropertyAttributes attributes); |
| static void AddProperty(Handle<JSObject> object, Handle<Name> name, |
| Handle<Object> value, PropertyAttributes attributes); |
| + MUST_USE_RESULT static MaybeHandle<Object> AddDataElement( |
| + Handle<JSObject> receiver, uint32_t index, Handle<Object> value, |
| + PropertyAttributes attributes); |
| + |
| // Extend the receiver with a single fast property appeared first in the |
| // passed map. This also extends the property backing store if necessary. |
| static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); |
| @@ -1889,6 +1886,17 @@ class JSObject: public JSReceiver { |
| static void SetNormalizedProperty(Handle<JSObject> object, Handle<Name> name, |
| Handle<Object> value, |
| PropertyDetails details); |
| + static void SetDictionaryElement(Handle<JSObject> object, uint32_t index, |
| + Handle<Object> value, |
| + PropertyAttributes attributes); |
| + static void SetSloppyArgumentsElements(Handle<JSObject> object, |
|
Igor Sheludko
2015/06/11 13:44:25
"SetSloppyArgumentsElement" to be consistent.
|
| + uint32_t index, Handle<Object> value, |
| + PropertyAttributes attributes); |
| + |
| + static void SetFastElement(Handle<JSObject> object, uint32_t index, |
| + Handle<Object> value); |
| + static void SetFastDoubleElement(Handle<JSObject> object, uint32_t index, |
| + Handle<Object> value); |
| static void OptimizeAsPrototype(Handle<JSObject> object, |
| PrototypeOptimizationMode mode); |
| @@ -2011,23 +2019,8 @@ class JSObject: public JSReceiver { |
| MUST_USE_RESULT static MaybeHandle<AccessorPair> GetOwnElementAccessorPair( |
| Handle<JSObject> object, uint32_t index); |
| - MUST_USE_RESULT static MaybeHandle<Object> SetFastElement( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - LanguageMode language_mode, bool check_prototype); |
| - |
| - MUST_USE_RESULT static inline MaybeHandle<Object> SetOwnElement( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - LanguageMode language_mode); |
| - |
| - MUST_USE_RESULT static MaybeHandle<Object> SetOwnElement( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - PropertyAttributes attributes, LanguageMode language_mode); |
| - |
| - // Empty handle is returned if the element cannot be set to the given value. |
| - MUST_USE_RESULT static MaybeHandle<Object> SetElement( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - PropertyAttributes attributes, LanguageMode language_mode, |
| - bool check_prototype = true, SetPropertyMode set_mode = SET_PROPERTY); |
| + static void UpdateAllocationSite(Handle<JSObject> object, |
| + ElementsKind to_kind); |
| enum SetFastElementsCapacitySmiMode { |
| kAllowSmiElements, |
| @@ -2319,37 +2312,10 @@ class JSObject: public JSReceiver { |
| Handle<Map> new_map, |
| int expected_additional_properties); |
| - static void UpdateAllocationSite(Handle<JSObject> object, |
| - ElementsKind to_kind); |
| - |
| // Used from Object::GetProperty(). |
| MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithFailedAccessCheck( |
| LookupIterator* it); |
| - MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback( |
| - Handle<Object> object, Handle<Object> structure, uint32_t index, |
| - Handle<Object> value, Handle<JSObject> holder, |
| - LanguageMode language_mode); |
| - MUST_USE_RESULT static MaybeHandle<Object> SetElementWithInterceptor( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - PropertyAttributes attributes, LanguageMode language_mode, |
| - bool check_prototype, SetPropertyMode set_mode); |
| - MUST_USE_RESULT static MaybeHandle<Object> SetElementWithoutInterceptor( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - PropertyAttributes attributes, LanguageMode language_mode, |
| - bool check_prototype, SetPropertyMode set_mode); |
| - MUST_USE_RESULT |
| - static MaybeHandle<Object> SetElementWithCallbackSetterInPrototypes( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - bool* found, LanguageMode language_mode); |
| - MUST_USE_RESULT static MaybeHandle<Object> SetDictionaryElement( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - PropertyAttributes attributes, LanguageMode language_mode, |
| - bool check_prototype, SetPropertyMode set_mode = SET_PROPERTY); |
| - MUST_USE_RESULT static MaybeHandle<Object> SetFastDoubleElement( |
| - Handle<JSObject> object, uint32_t index, Handle<Object> value, |
| - LanguageMode language_mode, bool check_prototype = true); |
| - |
| MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithFailedAccessCheck( |
| LookupIterator* it, Handle<Object> value, LanguageMode language_mode); |
| @@ -2453,6 +2419,9 @@ class FixedArray: public FixedArrayBase { |
| public: |
| // Setter and getter for elements. |
| inline Object* get(int index) const; |
| + static Handle<Object> SetValue(Handle<JSObject> holder, |
| + Handle<FixedArray> array, uint32_t index, |
| + Handle<Object> value); |
| static inline Handle<Object> get(Handle<FixedArray> array, int index); |
| // Setter that uses write barrier. |
| inline void set(int index, Object* value); |
| @@ -2574,6 +2543,10 @@ class FixedDoubleArray: public FixedArrayBase { |
| inline double get_scalar(int index); |
| inline uint64_t get_representation(int index); |
| static inline Handle<Object> get(Handle<FixedDoubleArray> array, int index); |
| + // This accessor has to get a Number as |value|. |
| + static Handle<Object> SetValue(Handle<JSObject> holder, |
| + Handle<FixedDoubleArray> array, uint32_t index, |
| + Handle<Object> value); |
| inline void set(int index, double value); |
| inline void set_the_hole(int index); |
| @@ -5854,6 +5827,8 @@ class Map: public HeapObject { |
| static Handle<Map> PrepareForDataProperty(Handle<Map> old_map, |
| int descriptor_number, |
| Handle<Object> value); |
| + static Handle<Map> PrepareForDataElement(Handle<Map> old_map, |
| + Handle<Object> value); |
| static Handle<Map> Normalize(Handle<Map> map, PropertyNormalizationMode mode, |
| const char* reason); |
| @@ -9757,10 +9732,6 @@ class JSProxy: public JSReceiver { |
| private: |
| friend class JSReceiver; |
| - MUST_USE_RESULT static inline MaybeHandle<Object> SetElementWithHandler( |
| - Handle<JSProxy> proxy, Handle<JSReceiver> receiver, uint32_t index, |
| - Handle<Object> value, LanguageMode language_mode); |
| - |
| MUST_USE_RESULT static Maybe<bool> HasPropertyWithHandler( |
| Handle<JSProxy> proxy, Handle<Name> name); |
| @@ -10348,7 +10319,7 @@ class ExecutableAccessorInfo: public AccessorInfo { |
| static const int kDataOffset = kSetterOffset + kPointerSize; |
| static const int kSize = kDataOffset + kPointerSize; |
| - static inline void ClearSetter(Handle<ExecutableAccessorInfo> info); |
| + static void ClearSetter(Handle<ExecutableAccessorInfo> info); |
| private: |
| DISALLOW_IMPLICIT_CONSTRUCTORS(ExecutableAccessorInfo); |