Index: src/mips/builtins-mips.cc |
diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc |
index d4a4df37c6450c1b0b769794ad4d5a4c8014b937..2a39185c6e6c96229e24c51d7dafe51d17f41540 100644 |
--- a/src/mips/builtins-mips.cc |
+++ b/src/mips/builtins-mips.cc |
@@ -36,14 +36,16 @@ void Builtins::Generate_Adaptor(MacroAssembler* masm, CFunctionId id, |
// ordinary functions). |
__ lw(cp, FieldMemOperand(a1, JSFunction::kContextOffset)); |
- // Insert extra arguments. |
- const int num_extra_args = 2; |
- __ Push(a1, a3); |
- |
// JumpToExternalReference expects a0 to contain the number of arguments |
// including the receiver and the extra arguments. |
+ const int num_extra_args = 3; |
__ Addu(a0, a0, num_extra_args + 1); |
+ // Insert extra arguments. |
+ __ SmiTag(a0); |
+ __ Push(a0, a1, a3); |
+ __ SmiUntag(a0); |
+ |
__ JumpToExternalReference(ExternalReference(id, masm->isolate()), PROTECT, |
exit_frame_type == BUILTIN_EXIT); |
} |