| Index: src/compiler/interpreter-assembler.cc
|
| diff --git a/src/compiler/interpreter-assembler.cc b/src/compiler/interpreter-assembler.cc
|
| index 0ba6176f6b8d4be91dc110e193e56e9ad46160c7..47c24a4ceec7050496f68d98eb4c37461500ceea 100644
|
| --- a/src/compiler/interpreter-assembler.cc
|
| +++ b/src/compiler/interpreter-assembler.cc
|
| @@ -317,6 +317,26 @@ Node* InterpreterAssembler::LoadTypeFeedbackVector() {
|
| }
|
|
|
|
|
| +Node* InterpreterAssembler::CallConstruct(Node* original_constructor,
|
| + Node* constructor, Node* first_arg,
|
| + Node* arg_count) {
|
| + Callable callable = CodeFactory::InterpreterPushArgsAndConstruct(isolate());
|
| + CallDescriptor* descriptor = Linkage::GetStubCallDescriptor(
|
| + isolate(), zone(), callable.descriptor(), 0, CallDescriptor::kNoFlags);
|
| +
|
| + Node* code_target = HeapConstant(callable.code());
|
| +
|
| + Node** args = zone()->NewArray<Node*>(5);
|
| + args[0] = arg_count;
|
| + args[1] = original_constructor;
|
| + args[2] = constructor;
|
| + args[3] = first_arg;
|
| + args[4] = GetContext();
|
| +
|
| + return CallN(descriptor, code_target, args);
|
| +}
|
| +
|
| +
|
| Node* InterpreterAssembler::CallN(CallDescriptor* descriptor, Node* code_target,
|
| Node** args) {
|
| Node* stack_pointer_before_call = nullptr;
|
|
|