Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index c5e036ae6e6137cd9ff23a4608b7ec7718d837c8..2b8228b64a57e98d53e0ea3ecc38fa2c3f1baca1 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -1126,6 +1126,9 @@ class Object { |
| StorePropertyMode data_store_mode = NORMAL_PROPERTY); |
| MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( |
| LookupIterator* it, Handle<Object> value, StrictMode strict_mode); |
| + MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyElement( |
| + Isolate* isolate, Handle<Object> receiver, uint32_t index, |
| + Handle<Object> value, StrictMode strict_mode); |
| static Handle<Object> SetDataProperty(LookupIterator* it, |
| Handle<Object> value); |
| MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty( |
| @@ -1171,6 +1174,10 @@ class Object { |
| Handle<Object> receiver, |
| uint32_t index); |
| + MUST_USE_RESULT static MaybeHandle<Object> SetElementWithReceiver( |
| + Isolate* isolate, Handle<Object> object, Handle<Object> receiver, |
| + uint32_t index, Handle<Object> value, StrictMode strict_mode); |
| + |
| static inline Handle<Object> GetPrototypeSkipHiddenPrototypes( |
| Isolate* isolate, Handle<Object> receiver); |
| @@ -1921,9 +1928,8 @@ class JSObject: public JSReceiver { |
| } |
| // These methods do not perform access checks! |
| - MUST_USE_RESULT static MaybeHandle<AccessorPair> GetOwnElementAccessorPair( |
| - Handle<JSObject> object, |
| - uint32_t index); |
| + MUST_USE_RESULT static MaybeHandle<Object> GetOwnElementStructure( |
| + Handle<JSObject> object, uint32_t index); |
| MUST_USE_RESULT static MaybeHandle<Object> SetFastElement( |
| Handle<JSObject> object, |
| @@ -2249,18 +2255,30 @@ class JSObject: public JSReceiver { |
| GetElementAttributeWithInterceptor(Handle<JSObject> object, |
| Handle<JSReceiver> receiver, |
| uint32_t index, bool continue_search); |
| + |
| + // Queries indexed interceptor on an object for property attributes. |
| + // |
| + // We determine property attributes as follows: |
| + // - if interceptor has a query callback, then the property attributes are |
| + // the result of query callback for index. |
| + // - otherwise if interceptor has a getter callback and it returns |
| + // non-empty value on index, then the property attributes is NONE |
| + // (property is present, and it is enumerable, configurable, writable) |
| + // - otherwise there are no property attributes that can be inferred for |
| + // interceptor, and this fucntion returns ABSENT. |
|
Toon Verwaest
2014/10/15 08:31:28
typo: function
|
| + MUST_USE_RESULT static Maybe<PropertyAttributes> |
| + GetElementAttributeFromInterceptor(Handle<JSObject> object, |
| + Handle<Object> receiver, |
| + uint32_t index); |
| + |
| MUST_USE_RESULT static Maybe<PropertyAttributes> |
| GetElementAttributeWithoutInterceptor(Handle<JSObject> object, |
| Handle<JSReceiver> receiver, |
| uint32_t index, |
| bool continue_search); |
| MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback( |
| - Handle<JSObject> object, |
| - Handle<Object> structure, |
| - uint32_t index, |
| - Handle<Object> value, |
| - Handle<JSObject> holder, |
| - StrictMode strict_mode); |
| + Handle<Object> object, Handle<Object> structure, uint32_t index, |
| + Handle<Object> value, Handle<JSObject> holder, StrictMode strict_mode); |
| MUST_USE_RESULT static MaybeHandle<Object> SetElementWithInterceptor( |
| Handle<JSObject> object, |
| uint32_t index, |