Index: src/full-codegen/ppc/full-codegen-ppc.cc |
diff --git a/src/full-codegen/ppc/full-codegen-ppc.cc b/src/full-codegen/ppc/full-codegen-ppc.cc |
index 35d03cc566d57e8cab67b865b1145f67c67f77ad..6a2f1480bc279cde615e448c490ae921c940f309 100644 |
--- a/src/full-codegen/ppc/full-codegen-ppc.cc |
+++ b/src/full-codegen/ppc/full-codegen-ppc.cc |
@@ -4112,9 +4112,13 @@ void FullCodeGenerator::EmitDefaultConstructorCallSuper(CallRuntime* expr) { |
ZoneList<Expression*>* args = expr->arguments(); |
DCHECK(args->length() == 2); |
- // Evaluate new.target and super constructor. |
+ // Evaluate new.target. |
VisitForStackValue(args->at(0)); |
- VisitForStackValue(args->at(1)); |
+ |
+ // Evaluate super constructor (to stack and r4). |
+ VisitForAccumulatorValue(args->at(1)); |
+ __ push(result_register()); |
+ __ mr(r4, result_register()); |
// Load original constructor into r7. |
__ LoadP(r7, MemOperand(sp, 1 * kPointerSize)); |