| Index: src/code-stub-assembler.h
|
| diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h
|
| index c68ff947ff7eaf2393f02b80f0eee27a09280ced..a6c23a10ca1fbd5c97ad3642e3ca034fdf1e3de8 100644
|
| --- a/src/code-stub-assembler.h
|
| +++ b/src/code-stub-assembler.h
|
| @@ -692,6 +692,7 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
|
| Node* IsJSGlobalProxy(Node* object);
|
| Node* IsJSReceiverInstanceType(Node* instance_type);
|
| Node* IsJSReceiver(Node* object);
|
| + Node* IsJSReceiverMap(Node* map);
|
| Node* IsMap(Node* object);
|
| Node* IsCallableMap(Node* map);
|
| Node* IsCallable(Node* object);
|
| @@ -992,6 +993,11 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
|
| Label* if_found, Variable* var_value,
|
| Label* if_not_found, Label* if_bailout);
|
|
|
| + Node* GetProperty(Node* context, Node* receiver, Handle<Name> name) {
|
| + return CallStub(CodeFactory::GetProperty(isolate()), context, receiver,
|
| + HeapConstant(name));
|
| + }
|
| +
|
| void LoadPropertyFromFastObject(Node* object, Node* map, Node* descriptors,
|
| Node* name_index, Variable* var_details,
|
| Variable* var_value);
|
| @@ -1241,6 +1247,16 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler {
|
| void Print(const char* prefix, Node* tagged_value);
|
| inline void Print(Node* tagged_value) { return Print(nullptr, tagged_value); }
|
|
|
| + template <class... TArgs>
|
| + Node* MakeTypeError(MessageTemplate::Template message, Node* context,
|
| + TArgs... args) {
|
| + STATIC_ASSERT(sizeof...(TArgs) <= 3);
|
| + Node* const make_type_error = LoadContextElement(
|
| + LoadNativeContext(context), Context::MAKE_TYPE_ERROR_INDEX);
|
| + return CallJS(CodeFactory::Call(isolate()), context, make_type_error,
|
| + UndefinedConstant(), SmiConstant(message), args...);
|
| + }
|
| +
|
| protected:
|
| void DescriptorLookup(Node* unique_name, Node* descriptors, Node* bitfield3,
|
| Label* if_found, Variable* var_name_index,
|
|
|