| Index: src/full-codegen/x87/full-codegen-x87.cc
|
| diff --git a/src/full-codegen/x87/full-codegen-x87.cc b/src/full-codegen/x87/full-codegen-x87.cc
|
| index e6d5e8cecbf8524b05997a583bd3424126f47ef7..ef48ec13ab6f838b75a60c0ec5130ae3d819db34 100644
|
| --- a/src/full-codegen/x87/full-codegen-x87.cc
|
| +++ b/src/full-codegen/x87/full-codegen-x87.cc
|
| @@ -3907,9 +3907,6 @@ void FullCodeGenerator::EmitDefaultConstructorCallSuper(CallRuntime* expr) {
|
| VisitForStackValue(args->at(0));
|
| VisitForStackValue(args->at(1));
|
|
|
| - // Load original constructor into ecx.
|
| - __ mov(ecx, Operand(esp, 1 * kPointerSize));
|
| -
|
| // Check if the calling frame is an arguments adaptor frame.
|
| Label adaptor_frame, args_set_up, runtime;
|
| __ mov(edx, Operand(ebp, StandardFrameConstants::kCallerFPOffset));
|
| @@ -3939,10 +3936,9 @@ void FullCodeGenerator::EmitDefaultConstructorCallSuper(CallRuntime* expr) {
|
|
|
| __ bind(&args_set_up);
|
|
|
| - __ mov(edi, Operand(esp, eax, times_pointer_size, 0));
|
| - __ mov(ebx, Immediate(isolate()->factory()->undefined_value()));
|
| - CallConstructStub stub(isolate(), SUPER_CONSTRUCTOR_CALL);
|
| - __ call(stub.GetCode(), RelocInfo::CONSTRUCT_CALL);
|
| + __ mov(edx, Operand(esp, eax, times_pointer_size, 1 * kPointerSize));
|
| + __ mov(edi, Operand(esp, eax, times_pointer_size, 0 * kPointerSize));
|
| + __ Call(isolate()->builtins()->Construct(), RelocInfo::CONSTRUCT_CALL);
|
|
|
| // Restore context register.
|
| __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
|
|