Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index d0b9dc2832ed855bd70b0bd1377919f72da0eb15..340dc38ed616d3f7fb3eed4206586a0d167f2e5b 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -1964,6 +1964,11 @@ class JSReceiver: public HeapObject { |
| Handle<Object> object, |
| Handle<Object> name, |
| Handle<Object> attributes); |
| + |
| + MUST_USE_RESULT static Object* DefinePropertyWithoutInterceptors( |
| + Isolate* isolate, Handle<Object> object, Handle<Object> name, |
| + Handle<Object> attributes); |
| + |
| MUST_USE_RESULT static MaybeHandle<Object> DefineProperties( |
| Isolate* isolate, Handle<Object> object, Handle<Object> properties); |
| @@ -1972,6 +1977,12 @@ class JSReceiver: public HeapObject { |
| Isolate* isolate, Handle<JSReceiver> object, Handle<Object> key, |
| PropertyDescriptor* desc, ShouldThrow should_throw); |
| + // "virtual" dispatcher to the correct [[DefineOwnPropertyWithoutIntercept]] |
| + // implementation. |
| + MUST_USE_RESULT static Maybe<bool> DefineOwnPropertyWithoutIntercept( |
| + Isolate* isolate, Handle<JSReceiver> object, Handle<Object> key, |
| + PropertyDescriptor* desc, ShouldThrow should_throw); |
|
Franzi
2017/04/12 08:58:17
I think you call this function only with dont_thro
|
| + |
| // ES6 7.3.4 (when passed DONT_THROW) |
| MUST_USE_RESULT static Maybe<bool> CreateDataProperty( |
| LookupIterator* it, Handle<Object> value, ShouldThrow should_throw); |
| @@ -1982,6 +1993,11 @@ class JSReceiver: public HeapObject { |
| PropertyDescriptor* desc, ShouldThrow should_throw); |
| MUST_USE_RESULT static Maybe<bool> OrdinaryDefineOwnProperty( |
| LookupIterator* it, PropertyDescriptor* desc, ShouldThrow should_throw); |
| + |
| + MUST_USE_RESULT static Maybe<bool> OrdinaryDefineOwnPropertyWithoutIntercept( |
| + Isolate* isolate, Handle<JSObject> object, Handle<Object> key, |
| + PropertyDescriptor* desc, ShouldThrow should_throw); |
| + |
| // ES6 9.1.6.2 |
| MUST_USE_RESULT static Maybe<bool> IsCompatiblePropertyDescriptor( |
| Isolate* isolate, bool extensible, PropertyDescriptor* desc, |
| @@ -10148,6 +10164,10 @@ class JSProxy: public JSReceiver { |
| Isolate* isolate, Handle<JSProxy> object, Handle<Object> key, |
| PropertyDescriptor* desc, ShouldThrow should_throw); |
| + MUST_USE_RESULT static Maybe<bool> DefineOwnPropertyWithoutIntercept( |
| + Isolate* isolate, Handle<JSProxy> object, Handle<Object> key, |
| + PropertyDescriptor* desc, ShouldThrow should_throw); |
| + |
| // ES6 9.5.7 |
| MUST_USE_RESULT static Maybe<bool> HasProperty(Isolate* isolate, |
| Handle<JSProxy> proxy, |
| @@ -10629,6 +10649,10 @@ class JSTypedArray: public JSArrayBufferView { |
| Isolate* isolate, Handle<JSTypedArray> o, Handle<Object> key, |
| PropertyDescriptor* desc, ShouldThrow should_throw); |
| + MUST_USE_RESULT static Maybe<bool> DefineOwnPropertyWithoutIntercept( |
| + Isolate* isolate, Handle<JSTypedArray> o, Handle<Object> key, |
| + PropertyDescriptor* desc, ShouldThrow should_throw); |
| + |
| DECLARE_CAST(JSTypedArray) |
| ExternalArrayType type(); |
| @@ -10747,6 +10771,10 @@ class JSArray: public JSObject { |
| Isolate* isolate, Handle<JSArray> o, Handle<Object> name, |
| PropertyDescriptor* desc, ShouldThrow should_throw); |
| + MUST_USE_RESULT static Maybe<bool> DefineOwnPropertyWithoutIntercept( |
| + Isolate* isolate, Handle<JSArray> o, Handle<Object> name, |
| + PropertyDescriptor* desc, ShouldThrow should_throw); |
| + |
| static bool AnythingToArrayLength(Isolate* isolate, |
| Handle<Object> length_object, |
| uint32_t* output); |