| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index 47d42a3122073e988ee8985047244a19a51e8b67..812f7b5317969f141b095e2bf2661f75db873cc8 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -1223,7 +1223,7 @@ void MacroAssembler::InvokeFunction(Register fun,
|
| }
|
|
|
|
|
| -void MacroAssembler::InvokeFunction(Handle<JSFunction> function,
|
| +void MacroAssembler::InvokeFunction(Register function,
|
| const ParameterCount& expected,
|
| const ParameterCount& actual,
|
| InvokeFlag flag,
|
| @@ -1232,8 +1232,10 @@ void MacroAssembler::InvokeFunction(Handle<JSFunction> function,
|
| // You can't call a function without a valid frame.
|
| ASSERT(flag == JUMP_FUNCTION || has_frame());
|
|
|
| + // Contract with called JS functions requires that function is passed in r1.
|
| + ASSERT(function.is(r1));
|
| +
|
| // Get the function and setup the context.
|
| - Move(r1, function);
|
| ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset));
|
|
|
| // We call indirectly through the code field in the function to
|
| @@ -1244,6 +1246,17 @@ void MacroAssembler::InvokeFunction(Handle<JSFunction> function,
|
| }
|
|
|
|
|
| +void MacroAssembler::InvokeFunction(Handle<JSFunction> function,
|
| + const ParameterCount& expected,
|
| + const ParameterCount& actual,
|
| + InvokeFlag flag,
|
| + const CallWrapper& call_wrapper,
|
| + CallKind call_kind) {
|
| + Move(r1, function);
|
| + InvokeFunction(r1, expected, actual, flag, call_wrapper, call_kind);
|
| +}
|
| +
|
| +
|
| void MacroAssembler::IsObjectJSObjectType(Register heap_object,
|
| Register map,
|
| Register scratch,
|
|
|