| Index: src/compiler/code-assembler.cc
|
| diff --git a/src/compiler/code-assembler.cc b/src/compiler/code-assembler.cc
|
| index b39fd4486e058acf14ec55c491e596ccb0b9739c..de79177be0e51fbd294216568eaefd2add5f3f57 100644
|
| --- a/src/compiler/code-assembler.cc
|
| +++ b/src/compiler/code-assembler.cc
|
| @@ -31,6 +31,9 @@
|
| #define REPEAT_1_TO_7(V, T) REPEAT_1_TO_6(V, T) V(T, T, T, T, T, T, T)
|
| #define REPEAT_1_TO_8(V, T) REPEAT_1_TO_7(V, T) V(T, T, T, T, T, T, T, T)
|
| #define REPEAT_1_TO_9(V, T) REPEAT_1_TO_8(V, T) V(T, T, T, T, T, T, T, T, T)
|
| +#define REPEAT_1_TO_10(V, T) REPEAT_1_TO_9(V, T) V(T, T, T, T, T, T, T, T, T, T)
|
| +#define REPEAT_1_TO_11(V, T) \
|
| + REPEAT_1_TO_10(V, T) V(T, T, T, T, T, T, T, T, T, T, T)
|
|
|
| namespace v8 {
|
| namespace internal {
|
| @@ -532,7 +535,7 @@ Node* CodeAssembler::CallRuntime(Runtime::FunctionId function, Node* context,
|
| return return_value;
|
| }
|
|
|
| -// Instantiate CallRuntime() with up to 6 arguments.
|
| +// Instantiate CallRuntime() for argument counts used by CSA-generated code
|
| #define INSTANTIATE(...) \
|
| template V8_EXPORT_PRIVATE Node* CodeAssembler::CallRuntime( \
|
| Runtime::FunctionId, __VA_ARGS__);
|
| @@ -558,7 +561,7 @@ Node* CodeAssembler::TailCallRuntime(Runtime::FunctionId function,
|
| return raw_assembler()->TailCallN(desc, arraysize(nodes), nodes);
|
| }
|
|
|
| -// Instantiate TailCallRuntime() with up to 6 arguments.
|
| +// Instantiate TailCallRuntime() for argument counts used by CSA-generated code
|
| #define INSTANTIATE(...) \
|
| template V8_EXPORT_PRIVATE Node* CodeAssembler::TailCallRuntime( \
|
| Runtime::FunctionId, __VA_ARGS__);
|
| @@ -573,7 +576,7 @@ Node* CodeAssembler::CallStubR(const CallInterfaceDescriptor& descriptor,
|
| return CallStubN(descriptor, result_size, arraysize(nodes), nodes);
|
| }
|
|
|
| -// Instantiate CallStubR() with up to 6 arguments.
|
| +// Instantiate CallStubR() for argument counts used by CSA-generated code.
|
| #define INSTANTIATE(...) \
|
| template V8_EXPORT_PRIVATE Node* CodeAssembler::CallStubR( \
|
| const CallInterfaceDescriptor& descriptor, size_t, Node*, __VA_ARGS__);
|
| @@ -612,15 +615,15 @@ Node* CodeAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor,
|
| MachineType::AnyTagged(), result_size);
|
|
|
| Node* nodes[] = {target, args..., context};
|
| -
|
| + CHECK_EQ(descriptor.GetParameterCount() + 2, arraysize(nodes));
|
| return raw_assembler()->TailCallN(desc, arraysize(nodes), nodes);
|
| }
|
|
|
| -// Instantiate TailCallStub() with up to 6 arguments.
|
| +// Instantiate TailCallStub() for argument counts used by CSA-generated code
|
| #define INSTANTIATE(...) \
|
| template V8_EXPORT_PRIVATE Node* CodeAssembler::TailCallStub( \
|
| const CallInterfaceDescriptor& descriptor, Node*, __VA_ARGS__);
|
| -REPEAT_1_TO_7(INSTANTIATE, Node*)
|
| +REPEAT_1_TO_11(INSTANTIATE, Node*)
|
| #undef INSTANTIATE
|
|
|
| template <class... TArgs>
|
| @@ -631,10 +634,12 @@ Node* CodeAssembler::TailCallBytecodeDispatch(
|
| isolate(), zone(), descriptor, descriptor.GetStackParameterCount());
|
|
|
| Node* nodes[] = {target, args...};
|
| + CHECK_EQ(descriptor.GetParameterCount() + 1, arraysize(nodes));
|
| return raw_assembler()->TailCallN(desc, arraysize(nodes), nodes);
|
| }
|
|
|
| -// Instantiate TailCallBytecodeDispatch() with 4 arguments.
|
| +// Instantiate TailCallBytecodeDispatch() for argument counts used by
|
| +// CSA-generated code
|
| template V8_EXPORT_PRIVATE Node* CodeAssembler::TailCallBytecodeDispatch(
|
| const CallInterfaceDescriptor& descriptor, Node* target, Node*, Node*,
|
| Node*, Node*);
|
|
|