PPC: Fix "Desugar %DefaultConstructorCallSuper partially in parser."
authormbrandy <mbrandy@us.ibm.com>
Wed, 9 Sep 2015 20:34:37 +0000 (13:34 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 9 Sep 2015 20:34:53 +0000 (20:34 +0000)
R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1303333009

Cr-Commit-Position: refs/heads/master@{#30666}

src/full-codegen/ppc/full-codegen-ppc.cc

index 35d03cc..6a2f148 100644 (file)
@@ -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));