| Index: src/arm/builtins-arm.cc
|
| diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc
|
| index fb319dff33b78eabd3cd2bb22ebe0b7ae37dc6fc..34ad4591894b40a13d909164b852a5b413d217ee 100644
|
| --- a/src/arm/builtins-arm.cc
|
| +++ b/src/arm/builtins-arm.cc
|
| @@ -606,9 +606,8 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
| __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset));
|
| Handle<Code> code =
|
| masm->isolate()->builtins()->HandleApiCallConstruct();
|
| - ParameterCount expected(0);
|
| - __ InvokeCode(code, expected, expected,
|
| - RelocInfo::CODE_TARGET, CALL_FUNCTION, CALL_AS_METHOD);
|
| + __ SetCallKind(r5, CALL_AS_METHOD);
|
| + __ Call(code, RelocInfo::CODE_TARGET);
|
| } else {
|
| ParameterCount actual(r0);
|
| __ InvokeFunction(r1, actual, CALL_FUNCTION,
|
| @@ -1162,12 +1161,12 @@ void Builtins::Generate_FunctionCall(MacroAssembler* masm) {
|
|
|
| __ push(r1); // re-add proxy object as additional argument
|
| __ add(r0, r0, Operand(1));
|
| - __ GetBuiltinEntry(r3, Builtins::CALL_FUNCTION_PROXY);
|
| + __ GetBuiltinFunction(r1, Builtins::CALL_FUNCTION_PROXY);
|
| __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(),
|
| RelocInfo::CODE_TARGET);
|
|
|
| __ bind(&non_proxy);
|
| - __ GetBuiltinEntry(r3, Builtins::CALL_NON_FUNCTION);
|
| + __ GetBuiltinFunction(r1, Builtins::CALL_NON_FUNCTION);
|
| __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(),
|
| RelocInfo::CODE_TARGET);
|
| __ bind(&function);
|
| @@ -1182,13 +1181,13 @@ void Builtins::Generate_FunctionCall(MacroAssembler* masm) {
|
| __ ldr(r2,
|
| FieldMemOperand(r3, SharedFunctionInfo::kFormalParameterCountOffset));
|
| __ SmiUntag(r2);
|
| - __ ldr(r3, FieldMemOperand(r1, JSFunction::kCodeEntryOffset));
|
| __ SetCallKind(r5, CALL_AS_METHOD);
|
| __ cmp(r2, r0); // Check formal and actual parameter counts.
|
| __ Jump(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(),
|
| RelocInfo::CODE_TARGET,
|
| ne);
|
|
|
| + __ ldr(r3, FieldMemOperand(r1, JSFunction::kCodeEntryOffset));
|
| ParameterCount expected(0);
|
| __ InvokeCode(r3, expected, expected, JUMP_FUNCTION,
|
| NullCallWrapper(), CALL_AS_METHOD);
|
| @@ -1347,7 +1346,7 @@ void Builtins::Generate_FunctionApply(MacroAssembler* masm) {
|
| __ add(r0, r0, Operand(1));
|
| __ mov(r2, Operand::Zero());
|
| __ SetCallKind(r5, CALL_AS_METHOD);
|
| - __ GetBuiltinEntry(r3, Builtins::CALL_FUNCTION_PROXY);
|
| + __ GetBuiltinFunction(r1, Builtins::CALL_FUNCTION_PROXY);
|
| __ Call(masm->isolate()->builtins()->ArgumentsAdaptorTrampoline(),
|
| RelocInfo::CODE_TARGET);
|
|
|
| @@ -1387,13 +1386,13 @@ void Builtins::Generate_ArgumentsAdaptorTrampoline(MacroAssembler* masm) {
|
| // -- r0 : actual number of arguments
|
| // -- r1 : function (passed through to callee)
|
| // -- r2 : expected number of arguments
|
| - // -- r3 : code entry to call
|
| // -- r5 : call kind information
|
| // -----------------------------------
|
|
|
| Label invoke, dont_adapt_arguments;
|
|
|
| Label enough, too_few;
|
| + __ ldr(r3, FieldMemOperand(r1, JSFunction::kCodeEntryOffset));
|
| __ cmp(r0, r2);
|
| __ b(lt, &too_few);
|
| __ cmp(r2, Operand(SharedFunctionInfo::kDontAdaptArgumentsSentinel));
|
|
|