Index: src/mips64/builtins-mips64.cc |
diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc |
index efecc29cc97ead61833acb9b331edfa31b34752d..31f9e979dd730e7cac80b9b54059ece682c2a39a 100644 |
--- a/src/mips64/builtins-mips64.cc |
+++ b/src/mips64/builtins-mips64.cc |
@@ -1497,9 +1497,7 @@ static void Generate_ConstructHelper(MacroAssembler* masm) { |
__ push(v0); // limit |
__ mov(a1, zero_reg); // initial index |
__ push(a1); |
- // Push newTarget and callee functions |
- __ ld(a0, MemOperand(fp, kNewTargetOffset)); |
- __ push(a0); |
+ // Push the constructor function as callee. |
__ ld(a0, MemOperand(fp, kFunctionOffset)); |
__ push(a0); |
@@ -1510,13 +1508,12 @@ static void Generate_ConstructHelper(MacroAssembler* masm) { |
// Use undefined feedback vector |
__ LoadRoot(a2, Heap::kUndefinedValueRootIndex); |
__ ld(a1, MemOperand(fp, kFunctionOffset)); |
+ __ ld(a4, MemOperand(fp, kNewTargetOffset)); |
// Call the function. |
CallConstructStub stub(masm->isolate(), SUPER_CONSTRUCTOR_CALL); |
__ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); |
- __ Drop(1); |
- |
// Leave internal frame. |
} |
__ jr(ra); |