Index: src/ppc/builtins-ppc.cc |
diff --git a/src/ppc/builtins-ppc.cc b/src/ppc/builtins-ppc.cc |
index 20d9b57e190fb0fa6680c88966e99b744bcb68f2..b17ebab135ff6785ed53f6dec43e47829c9ed73e 100644 |
--- a/src/ppc/builtins-ppc.cc |
+++ b/src/ppc/builtins-ppc.cc |
@@ -1539,9 +1539,7 @@ static void Generate_ConstructHelper(MacroAssembler* masm) { |
StandardFrameConstants::kExpressionsOffset - (1 * kPointerSize); |
__ li(r4, Operand::Zero()); |
__ Push(r3, r4); // limit and initial index. |
- // Push newTarget and callee functions |
- __ LoadP(r3, MemOperand(fp, kNewTargetOffset)); |
- __ push(r3); |
+ // Push the constructor function as callee |
__ LoadP(r3, MemOperand(fp, kFunctionOffset)); |
__ push(r3); |
@@ -1552,13 +1550,12 @@ static void Generate_ConstructHelper(MacroAssembler* masm) { |
// Use undefined feedback vector |
__ LoadRoot(r5, Heap::kUndefinedValueRootIndex); |
__ LoadP(r4, MemOperand(fp, kFunctionOffset)); |
+ __ LoadP(r7, MemOperand(fp, kNewTargetOffset)); |
// Call the function. |
CallConstructStub stub(masm->isolate(), SUPER_CONSTRUCTOR_CALL); |
__ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL); |
- __ Drop(1); |
- |
// Leave internal frame. |
} |
__ addi(sp, sp, Operand(kStackSize * kPointerSize)); |