diff options
Diffstat (limited to 'chromium/v8/src/code-stub-assembler.h')
-rw-r--r-- | chromium/v8/src/code-stub-assembler.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/chromium/v8/src/code-stub-assembler.h b/chromium/v8/src/code-stub-assembler.h index 7c7777e1acc..a2d5e800156 100644 --- a/chromium/v8/src/code-stub-assembler.h +++ b/chromium/v8/src/code-stub-assembler.h @@ -867,6 +867,10 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { Node* ThrowIfNotInstanceType(Node* context, Node* value, InstanceType instance_type, char const* method_name); + + void ThrowRangeError(Node* context, MessageTemplate::Template message, + Node* arg0 = nullptr, Node* arg1 = nullptr, + Node* arg2 = nullptr); void ThrowTypeError(Node* context, MessageTemplate::Template message, char const* arg0 = nullptr, char const* arg1 = nullptr); void ThrowTypeError(Node* context, MessageTemplate::Template message, @@ -1321,6 +1325,9 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { Node* unique_name, Label* if_found, Label* if_not_found, Label* if_bailout); + // Operating mode for TryGetOwnProperty and CallGetterIfAccessor + // kReturnAccessorPair is used when we're only getting the property descriptor + enum GetOwnPropertyMode { kCallJSGetter, kReturnAccessorPair }; // Tries to get {object}'s own {unique_name} property value. If the property // is an accessor then it also calls a getter. If the property is a double // field it re-wraps value in an immutable heap number. @@ -1332,7 +1339,8 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { Node* instance_type, Node* unique_name, Label* if_found, Variable* var_value, Variable* var_details, Variable* var_raw_value, - Label* if_not_found, Label* if_bailout); + Label* if_not_found, Label* if_bailout, + GetOwnPropertyMode mode); Node* GetProperty(Node* context, Node* receiver, Handle<Name> name) { return GetProperty(context, receiver, HeapConstant(name)); @@ -1669,7 +1677,8 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { Node* DescriptorArrayGetKey(Node* descriptors, Node* descriptor_number); Node* CallGetterIfAccessor(Node* value, Node* details, Node* context, - Node* receiver, Label* if_bailout); + Node* receiver, Label* if_bailout, + GetOwnPropertyMode mode = kCallJSGetter); Node* TryToIntptr(Node* key, Label* miss); |