| 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 e27e75e42b139619ea45d39275a9fc0c5b70dcc7..9d9f434ae288a97fb0b85b08a6c26ba2a6e347fc 100644
|
| --- a/src/full-codegen/ppc/full-codegen-ppc.cc
|
| +++ b/src/full-codegen/ppc/full-codegen-ppc.cc
|
| @@ -4015,14 +4015,14 @@ void FullCodeGenerator::EmitDefaultConstructorCallSuper(CallRuntime* expr) {
|
| __ push(result_register());
|
| __ mr(r4, result_register());
|
|
|
| - // Load original constructor into r7.
|
| - __ LoadP(r7, MemOperand(sp, 1 * kPointerSize));
|
| + // Load original constructor into r6.
|
| + __ LoadP(r6, MemOperand(sp, 1 * kPointerSize));
|
|
|
| // Check if the calling frame is an arguments adaptor frame.
|
| Label adaptor_frame, args_set_up, runtime;
|
| __ LoadP(r5, MemOperand(fp, StandardFrameConstants::kCallerFPOffset));
|
| - __ LoadP(r6, MemOperand(r5, StandardFrameConstants::kContextOffset));
|
| - __ CmpSmiLiteral(r6, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR), r0);
|
| + __ LoadP(r7, MemOperand(r5, StandardFrameConstants::kContextOffset));
|
| + __ CmpSmiLiteral(r7, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR), r0);
|
| __ beq(&adaptor_frame);
|
|
|
| // default constructor has no arguments, so no adaptor frame means no args.
|
| @@ -4044,16 +4044,13 @@ void FullCodeGenerator::EmitDefaultConstructorCallSuper(CallRuntime* expr) {
|
| __ mtctr(r3);
|
| __ bind(&loop);
|
| // Pre-decrement in order to skip receiver.
|
| - __ LoadPU(r6, MemOperand(r5, -kPointerSize));
|
| - __ Push(r6);
|
| + __ LoadPU(r7, MemOperand(r5, -kPointerSize));
|
| + __ Push(r7);
|
| __ bdnz(&loop);
|
| }
|
|
|
| __ bind(&args_set_up);
|
| - __ LoadRoot(r5, Heap::kUndefinedValueRootIndex);
|
| -
|
| - CallConstructStub stub(isolate(), SUPER_CONSTRUCTOR_CALL);
|
| - __ Call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL);
|
| + __ Call(isolate()->builtins()->Construct(), RelocInfo::CONSTRUCT_CALL);
|
|
|
| // Restore context register.
|
| __ LoadP(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
|
|