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)); |