| Index: src/mips/builtins-mips.cc
|
| diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc
|
| index d122e9a9f90854c9d6ea0a6d1b727af3304a4bd4..e8de833f939cd3560f84f4fa380b033bbf42dc8c 100644
|
| --- a/src/mips/builtins-mips.cc
|
| +++ b/src/mips/builtins-mips.cc
|
| @@ -924,22 +924,15 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
| // t4: JSObject
|
| __ bind(&allocated);
|
| __ push(t4);
|
| -
|
| - // Push the function and the allocated receiver from the stack.
|
| - // sp[0]: receiver (newly allocated object)
|
| - // sp[1]: constructor function
|
| - // sp[2]: number of arguments (smi-tagged)
|
| - __ lw(a1, MemOperand(sp, kPointerSize));
|
| - __ MultiPushReversed(a1.bit() | t4.bit());
|
| + __ push(t4);
|
|
|
| // Reload the number of arguments from the stack.
|
| - // a1: constructor function
|
| // sp[0]: receiver
|
| - // sp[1]: constructor function
|
| - // sp[2]: receiver
|
| - // sp[3]: constructor function
|
| - // sp[4]: number of arguments (smi-tagged)
|
| - __ lw(a3, MemOperand(sp, 4 * kPointerSize));
|
| + // sp[1]: receiver
|
| + // sp[2]: constructor function
|
| + // sp[3]: number of arguments (smi-tagged)
|
| + __ lw(a1, MemOperand(sp, 2 * kPointerSize));
|
| + __ lw(a3, MemOperand(sp, 3 * kPointerSize));
|
|
|
| // Set up pointer to last argument.
|
| __ Addu(a2, fp, Operand(StandardFrameConstants::kCallerSPOffset));
|
| @@ -953,10 +946,9 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
| // a2: address of last argument (caller sp)
|
| // a3: number of arguments (smi-tagged)
|
| // sp[0]: receiver
|
| - // sp[1]: constructor function
|
| - // sp[2]: receiver
|
| - // sp[3]: constructor function
|
| - // sp[4]: number of arguments (smi-tagged)
|
| + // sp[1]: receiver
|
| + // sp[2]: constructor function
|
| + // sp[3]: number of arguments (smi-tagged)
|
| Label loop, entry;
|
| __ jmp(&entry);
|
| __ bind(&loop);
|
| @@ -984,14 +976,6 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm,
|
| NullCallWrapper(), CALL_AS_METHOD);
|
| }
|
|
|
| - // Pop the function from the stack.
|
| - // v0: result
|
| - // sp[0]: constructor function
|
| - // sp[2]: receiver
|
| - // sp[3]: constructor function
|
| - // sp[4]: number of arguments (smi-tagged)
|
| - __ Pop();
|
| -
|
| // Restore context from the frame.
|
| __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
|
|
|
|