| 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 22b9c43df23ef9e44138f0aa3e784941d65c30e8..512ce50f2acc0fa9f3d269c3baad9febd4f267fe 100644
|
| --- a/src/full-codegen/ppc/full-codegen-ppc.cc
|
| +++ b/src/full-codegen/ppc/full-codegen-ppc.cc
|
| @@ -3191,25 +3191,23 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
|
| VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var());
|
| VisitForAccumulatorValue(
|
| prop->obj()->AsSuperPropertyReference()->home_object());
|
| - PushOperand(result_register());
|
| const Register scratch = r4;
|
| - __ LoadP(scratch, MemOperand(sp, kPointerSize));
|
| - PushOperands(scratch, result_register());
|
| + __ LoadP(scratch, MemOperand(sp, 0)); // this
|
| + PushOperands(result_register(), scratch, result_register());
|
| EmitNamedSuperPropertyLoad(prop);
|
| break;
|
| }
|
|
|
| case KEYED_SUPER_PROPERTY: {
|
| VisitForStackValue(prop->obj()->AsSuperPropertyReference()->this_var());
|
| - VisitForAccumulatorValue(
|
| + VisitForStackValue(
|
| prop->obj()->AsSuperPropertyReference()->home_object());
|
| - const Register scratch = r4;
|
| - const Register scratch1 = r5;
|
| - __ mr(scratch, result_register());
|
| VisitForAccumulatorValue(prop->key());
|
| - PushOperands(scratch, result_register());
|
| - __ LoadP(scratch1, MemOperand(sp, 2 * kPointerSize));
|
| - PushOperands(scratch1, scratch, result_register());
|
| + const Register scratch1 = r4;
|
| + const Register scratch2 = r5;
|
| + __ LoadP(scratch1, MemOperand(sp, 1 * kPointerSize)); // this
|
| + __ LoadP(scratch2, MemOperand(sp, 0 * kPointerSize)); // home object
|
| + PushOperands(result_register(), scratch1, scratch2, result_register());
|
| EmitKeyedSuperPropertyLoad(prop);
|
| break;
|
| }
|
|
|