| Index: src/mips/stub-cache-mips.cc
|
| diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc
|
| index b9757fa138ec2572df5b684b685b7499d5aa558a..d6e968d2afc53e8943f422071d01af02a538386f 100644
|
| --- a/src/mips/stub-cache-mips.cc
|
| +++ b/src/mips/stub-cache-mips.cc
|
| @@ -951,7 +951,9 @@ class CallInterceptorCompiler BASE_EMBEDDED {
|
| CallKind call_kind = CallICBase::Contextual::decode(extra_ic_state_)
|
| ? CALL_AS_FUNCTION
|
| : CALL_AS_METHOD;
|
| - __ InvokeFunction(optimization.constant_function(), arguments_,
|
| + Handle<JSFunction> function = optimization.constant_function();
|
| + ParameterCount expected(function);
|
| + __ InvokeFunction(function, expected, arguments_,
|
| JUMP_FUNCTION, NullCallWrapper(), call_kind);
|
| }
|
|
|
| @@ -2091,8 +2093,9 @@ Handle<Code> CallStubCompiler::CompileStringFromCharCodeCall(
|
| // Tail call the full function. We do not have to patch the receiver
|
| // because the function makes no use of it.
|
| __ bind(&slow);
|
| - __ InvokeFunction(
|
| - function, arguments(), JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
| + ParameterCount expected(function);
|
| + __ InvokeFunction(function, expected, arguments(),
|
| + JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
|
|
| __ bind(&miss);
|
| // a2: function name.
|
| @@ -2221,8 +2224,9 @@ Handle<Code> CallStubCompiler::CompileMathFloorCall(
|
| __ bind(&slow);
|
| // Tail call the full function. We do not have to patch the receiver
|
| // because the function makes no use of it.
|
| - __ InvokeFunction(
|
| - function, arguments(), JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
| + ParameterCount expected(function);
|
| + __ InvokeFunction(function, expected, arguments(),
|
| + JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
|
|
| __ bind(&miss);
|
| // a2: function name.
|
| @@ -2322,8 +2326,9 @@ Handle<Code> CallStubCompiler::CompileMathAbsCall(
|
| // Tail call the full function. We do not have to patch the receiver
|
| // because the function makes no use of it.
|
| __ bind(&slow);
|
| - __ InvokeFunction(
|
| - function, arguments(), JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
| + ParameterCount expected(function);
|
| + __ InvokeFunction(function, expected, arguments(),
|
| + JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
|
|
| __ bind(&miss);
|
| // a2: function name.
|
| @@ -2498,8 +2503,9 @@ void CallStubCompiler::CompileHandlerBackend(Handle<JSFunction> function) {
|
| CallKind call_kind = CallICBase::Contextual::decode(extra_state_)
|
| ? CALL_AS_FUNCTION
|
| : CALL_AS_METHOD;
|
| - __ InvokeFunction(
|
| - function, arguments(), JUMP_FUNCTION, NullCallWrapper(), call_kind);
|
| + ParameterCount expected(function);
|
| + __ InvokeFunction(function, expected, arguments(),
|
| + JUMP_FUNCTION, NullCallWrapper(), call_kind);
|
| }
|
|
|
|
|
| @@ -2686,8 +2692,9 @@ void StoreStubCompiler::GenerateStoreViaSetter(
|
| __ push(a1);
|
| __ push(a0);
|
| ParameterCount actual(1);
|
| - __ InvokeFunction(setter, actual, CALL_FUNCTION, NullCallWrapper(),
|
| - CALL_AS_METHOD);
|
| + ParameterCount expected(setter);
|
| + __ InvokeFunction(setter, expected, actual,
|
| + CALL_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
| } else {
|
| // If we generate a global code snippet for deoptimization only, remember
|
| // the place to continue after deoptimization.
|
| @@ -2867,8 +2874,9 @@ void LoadStubCompiler::GenerateLoadViaGetter(MacroAssembler* masm,
|
| // Call the JavaScript getter with the receiver on the stack.
|
| __ push(a0);
|
| ParameterCount actual(0);
|
| - __ InvokeFunction(getter, actual, CALL_FUNCTION, NullCallWrapper(),
|
| - CALL_AS_METHOD);
|
| + ParameterCount expected(getter);
|
| + __ InvokeFunction(getter, expected, actual,
|
| + CALL_FUNCTION, NullCallWrapper(), CALL_AS_METHOD);
|
| } else {
|
| // If we generate a global code snippet for deoptimization only, remember
|
| // the place to continue after deoptimization.
|
|
|