Index: src/interpreter/interpreter-assembler.cc |
diff --git a/src/interpreter/interpreter-assembler.cc b/src/interpreter/interpreter-assembler.cc |
index a08e6aed56641475015cfd9d8393f39aa5c03591..dee99bd2e700d6ad90436b8db144a481bfb1317f 100644 |
--- a/src/interpreter/interpreter-assembler.cc |
+++ b/src/interpreter/interpreter-assembler.cc |
@@ -543,7 +543,7 @@ Node* InterpreterAssembler::CallJSWithFeedback(Node* function, Node* context, |
// Call using call function builtin. |
Callable callable = CodeFactory::InterpreterPushArgsAndCall( |
- isolate(), tail_call_mode, CallableType::kJSFunction); |
+ isolate(), tail_call_mode, InterpreterPushArgsMode::kJSFunction); |
Node* code_target = HeapConstant(callable.code()); |
Node* ret_value = CallStub(callable.descriptor(), code_target, context, |
arg_count, first_arg, function); |
@@ -659,7 +659,7 @@ Node* InterpreterAssembler::CallJSWithFeedback(Node* function, Node* context, |
// Call using call builtin. |
Callable callable_call = CodeFactory::InterpreterPushArgsAndCall( |
- isolate(), tail_call_mode, CallableType::kAny); |
+ isolate(), tail_call_mode, InterpreterPushArgsMode::kOther); |
Node* code_target_call = HeapConstant(callable_call.code()); |
Node* ret_value = CallStub(callable_call.descriptor(), code_target_call, |
context, arg_count, first_arg, function); |
@@ -675,7 +675,18 @@ Node* InterpreterAssembler::CallJS(Node* function, Node* context, |
Node* first_arg, Node* arg_count, |
TailCallMode tail_call_mode) { |
Callable callable = CodeFactory::InterpreterPushArgsAndCall( |
- isolate(), tail_call_mode, CallableType::kAny); |
+ isolate(), tail_call_mode, InterpreterPushArgsMode::kOther); |
+ Node* code_target = HeapConstant(callable.code()); |
+ |
+ return CallStub(callable.descriptor(), code_target, context, arg_count, |
+ first_arg, function); |
+} |
+ |
+Node* InterpreterAssembler::CallJSWithSpread(Node* function, Node* context, |
+ Node* first_arg, Node* arg_count) { |
+ Callable callable = CodeFactory::InterpreterPushArgsAndCall( |
+ isolate(), TailCallMode::kDisallow, |
+ InterpreterPushArgsMode::kWithFinalSpread); |
Node* code_target = HeapConstant(callable.code()); |
return CallStub(callable.descriptor(), code_target, context, arg_count, |
@@ -718,7 +729,7 @@ Node* InterpreterAssembler::CallConstruct(Node* constructor, Node* context, |
Comment("call using callConstructFunction"); |
IncrementCallCount(type_feedback_vector, slot_id); |
Callable callable_function = CodeFactory::InterpreterPushArgsAndConstruct( |
- isolate(), PushArgsConstructMode::kJSFunction); |
+ isolate(), InterpreterPushArgsMode::kJSFunction); |
return_value.Bind(CallStub(callable_function.descriptor(), |
HeapConstant(callable_function.code()), context, |
arg_count, new_target, constructor, |
@@ -821,7 +832,7 @@ Node* InterpreterAssembler::CallConstruct(Node* constructor, Node* context, |
{ |
Comment("call using callConstruct builtin"); |
Callable callable = CodeFactory::InterpreterPushArgsAndConstruct( |
- isolate(), PushArgsConstructMode::kOther); |
+ isolate(), InterpreterPushArgsMode::kOther); |
Node* code_target = HeapConstant(callable.code()); |
return_value.Bind(CallStub(callable.descriptor(), code_target, context, |
arg_count, new_target, constructor, |
@@ -841,7 +852,7 @@ Node* InterpreterAssembler::CallConstructWithSpread(Node* constructor, |
Variable return_value(this, MachineRepresentation::kTagged); |
Comment("call using ConstructWithSpread"); |
Callable callable = CodeFactory::InterpreterPushArgsAndConstruct( |
- isolate(), PushArgsConstructMode::kWithFinalSpread); |
+ isolate(), InterpreterPushArgsMode::kWithFinalSpread); |
Node* code_target = HeapConstant(callable.code()); |
return_value.Bind(CallStub(callable.descriptor(), code_target, context, |
arg_count, new_target, constructor, |