Index: src/ia32/stub-cache-ia32.cc |
diff --git a/src/ia32/stub-cache-ia32.cc b/src/ia32/stub-cache-ia32.cc |
index cb3c68ea8eeeacb2d105ee62a800ac5480fdf3d9..14ad06c1c94079c950d8337f6145f2428ff5cfe0 100644 |
--- a/src/ia32/stub-cache-ia32.cc |
+++ b/src/ia32/stub-cache-ia32.cc |
@@ -635,7 +635,8 @@ class CallInterceptorCompiler BASE_EMBEDDED { |
CallKind call_kind = CallICBase::Contextual::decode(extra_state_) |
? CALL_AS_FUNCTION |
: CALL_AS_METHOD; |
- __ InvokeFunction(optimization.constant_function(), arguments_, |
+ Handle<JSFunction> fun = optimization.constant_function(); |
+ __ InvokeFunction(fun, ParameterCount(fun), arguments_, |
JUMP_FUNCTION, NullCallWrapper(), call_kind); |
} |
@@ -2056,8 +2057,8 @@ Handle<Code> CallStubCompiler::CompileStringFromCharCodeCall( |
CallKind call_kind = CallICBase::Contextual::decode(extra_state_) |
? CALL_AS_FUNCTION |
: CALL_AS_METHOD; |
- __ InvokeFunction(function, arguments(), JUMP_FUNCTION, |
- NullCallWrapper(), call_kind); |
+ __ InvokeFunction(function, ParameterCount(function), arguments(), |
+ JUMP_FUNCTION, NullCallWrapper(), call_kind); |
__ bind(&miss); |
// ecx: function name. |
@@ -2186,8 +2187,8 @@ Handle<Code> CallStubCompiler::CompileMathFloorCall( |
// 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); |
+ __ InvokeFunction(function, ParameterCount(function), arguments(), |
+ JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD); |
__ bind(&miss); |
// ecx: function name. |
@@ -2291,8 +2292,8 @@ 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); |
+ __ InvokeFunction(function, ParameterCount(function), arguments(), |
+ JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD); |
__ bind(&miss); |
// ecx: function name. |
@@ -2474,8 +2475,8 @@ 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); |
+ __ InvokeFunction(function, ParameterCount(function), arguments(), |
+ JUMP_FUNCTION, NullCallWrapper(), call_kind); |
} |
@@ -2687,8 +2688,9 @@ void StoreStubCompiler::GenerateStoreViaSetter( |
__ push(edx); |
__ push(eax); |
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. |
@@ -2900,8 +2902,9 @@ void LoadStubCompiler::GenerateLoadViaGetter(MacroAssembler* masm, |
// Call the JavaScript getter with the receiver on the stack. |
__ push(edx); |
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. |