Index: src/arm64/builtins-arm64.cc |
diff --git a/src/arm64/builtins-arm64.cc b/src/arm64/builtins-arm64.cc |
index f0f92c344b67a5ac4ad9fe4b695e68ff9cd6216a..13adbab1294ab3a0dbe14deefe9eaa22a7bcf523 100644 |
--- a/src/arm64/builtins-arm64.cc |
+++ b/src/arm64/builtins-arm64.cc |
@@ -501,15 +501,12 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
__ SmiUntag(argc); |
- // Push new.target onto the construct frame. This is stored just below the |
- // receiver on the stack. |
if (create_implicit_receiver) { |
// Push the allocated receiver to the stack. We need two copies |
// because we may have to return the original one and the calling |
// conventions dictate that the called function pops the receiver. |
- __ Push(new_target, x4, x4); |
+ __ Push(x4, x4); |
} else { |
- __ push(new_target); |
__ PushRoot(Heap::kTheHoleValueRootIndex); |
} |
@@ -524,8 +521,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
// x3: new target |
// jssp[0]: receiver |
// jssp[1]: receiver |
- // jssp[2]: new.target |
- // jssp[3]: number of arguments (smi-tagged) |
+ // jssp[2]: number of arguments (smi-tagged) |
// Compute the start address of the copy in x3. |
__ Add(x4, x2, Operand(argc, LSL, kPointerSizeLog2)); |
Label loop, entry, done_copying_arguments; |
@@ -565,8 +561,7 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
// Restore the context from the frame. |
// x0: result |
// jssp[0]: receiver |
- // jssp[1]: new.target |
- // jssp[2]: number of arguments (smi-tagged) |
+ // jssp[1]: number of arguments (smi-tagged) |
__ Ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
if (create_implicit_receiver) { |
@@ -595,11 +590,10 @@ static void Generate_JSConstructStubHelper(MacroAssembler* masm, |
__ Bind(&exit); |
// x0: result |
// jssp[0]: receiver (newly allocated object) |
- // jssp[1]: new target |
- // jssp[2]: number of arguments (smi-tagged) |
- __ Peek(x1, 2 * kXRegSize); |
+ // jssp[1]: number of arguments (smi-tagged) |
+ __ Peek(x1, 1 * kXRegSize); |
} else { |
- __ Peek(x1, kXRegSize); |
+ __ Peek(x1, 0); |
} |
// Leave construct frame. |