| Index: src/mips/builtins-mips.cc
|
| diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc
|
| index 0b495831b9142882eadf0bf6d96e861ab3ab41b1..2fe081ee676bd1ee76d7f871c20271c596322524 100644
|
| --- a/src/mips/builtins-mips.cc
|
| +++ b/src/mips/builtins-mips.cc
|
| @@ -301,17 +301,12 @@ static void CallRuntimePassFunction(MacroAssembler* masm,
|
| Runtime::FunctionId function_id) {
|
| FrameScope scope(masm, StackFrame::INTERNAL);
|
| // Push a copy of the function onto the stack.
|
| - __ push(a1);
|
| - // Push call kind information.
|
| - __ push(t1);
|
| - // Function is also the parameter to the runtime call.
|
| - __ push(a1);
|
| + // Push call kind information and function as parameter to the runtime call.
|
| + __ Push(a1, t1, a1);
|
|
|
| __ CallRuntime(function_id, 1);
|
| - // Restore call kind information.
|
| - __ pop(t1);
|
| - // Restore receiver.
|
| - __ pop(a1);
|
| + // Restore call kind information and receiver.
|
| + __ Pop(a1, t1);
|
| }
|
|
|
|
|
| @@ -421,14 +416,11 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
| __ sb(t0, constructor_count);
|
| __ Branch(&allocate, ne, t0, Operand(zero_reg));
|
|
|
| - __ Push(a1, a2);
|
| -
|
| - __ push(a1); // Constructor.
|
| + __ Push(a1, a2, a1); // a1 = Constructor.
|
| // The call will replace the stub, so the countdown is only done once.
|
| __ CallRuntime(Runtime::kFinalizeInstanceSize, 1);
|
|
|
| - __ pop(a2);
|
| - __ pop(a1);
|
| + __ Pop(a1, a2);
|
|
|
| __ bind(&allocate);
|
| }
|
| @@ -1245,8 +1237,7 @@ void Builtins::Generate_FunctionApply(MacroAssembler* masm) {
|
|
|
| // Out of stack space.
|
| __ lw(a1, MemOperand(fp, kFunctionOffset));
|
| - __ push(a1);
|
| - __ push(v0);
|
| + __ Push(a1, v0);
|
| __ InvokeBuiltin(Builtins::APPLY_OVERFLOW, CALL_FUNCTION);
|
| // End of stack check.
|
|
|
| @@ -1327,8 +1318,7 @@ void Builtins::Generate_FunctionApply(MacroAssembler* masm) {
|
| // a0: current argument index
|
| __ bind(&loop);
|
| __ lw(a1, MemOperand(fp, kArgsOffset));
|
| - __ push(a1);
|
| - __ push(a0);
|
| + __ Push(a1, a0);
|
|
|
| // Call the runtime to access the property in the arguments array.
|
| __ CallRuntime(Runtime::kGetProperty, 2);
|
|
|