Chromium Code Reviews| Index: src/arm/builtins-arm.cc |
| diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc |
| index a8e1df3b4d5dc46c21c850737bd2cfd825de330e..066e6931518886ac32d6811af4f414401e0ef8a4 100644 |
| --- a/src/arm/builtins-arm.cc |
| +++ b/src/arm/builtins-arm.cc |
| @@ -35,14 +35,16 @@ void Builtins::Generate_Adaptor(MacroAssembler* masm, CFunctionId id, |
| // ordinary functions). |
| __ ldr(cp, FieldMemOperand(r1, JSFunction::kContextOffset)); |
| - // Insert extra arguments. |
| - const int num_extra_args = 2; |
| - __ Push(r1, r3); |
| - |
| // JumpToExternalReference expects r0 to contain the number of arguments |
| // including the receiver and the extra arguments. |
| + const int num_extra_args = 3; |
| __ add(r0, r0, Operand(num_extra_args + 1)); |
| + // Insert extra arguments. |
| + __ SmiTag(r0); |
|
Yang
2016/06/30 12:34:23
Since we now make the distinction between builtin-
jgruber
2016/06/30 14:40:29
Not without larger changes, since HandleApiCall* b
jgruber
2016/06/30 14:45:47
I guess we could also pass in whether we're callin
|
| + __ Push(r0, r1, r3); |
| + __ SmiUntag(r0); |
| + |
| __ JumpToExternalReference(ExternalReference(id, masm->isolate()), |
| exit_frame_type == BUILTIN_EXIT); |
| } |