| 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 2ac7a43cd9f1396a351ad96adba62b91c0e561dd..be0e48f4534cf2dbb47ee1287ce16a6f0e634393 100644
|
| --- a/src/full-codegen/x87/full-codegen-x87.cc
|
| +++ b/src/full-codegen/x87/full-codegen-x87.cc
|
| @@ -3608,58 +3608,6 @@ void FullCodeGenerator::EmitCall(CallRuntime* expr) {
|
| }
|
|
|
|
|
| -void FullCodeGenerator::EmitDefaultConstructorCallSuper(CallRuntime* expr) {
|
| - ZoneList<Expression*>* args = expr->arguments();
|
| - DCHECK(args->length() == 2);
|
| -
|
| - // Evaluate new.target and super constructor.
|
| - VisitForStackValue(args->at(0));
|
| - VisitForStackValue(args->at(1));
|
| -
|
| - // Call the construct call builtin that handles allocation and
|
| - // constructor invocation.
|
| - SetConstructCallPosition(expr);
|
| -
|
| - // Check if the calling frame is an arguments adaptor frame.
|
| - Label adaptor_frame, args_set_up, runtime;
|
| - __ mov(edx, Operand(ebp, StandardFrameConstants::kCallerFPOffset));
|
| - __ mov(ebx, Operand(edx, StandardFrameConstants::kContextOffset));
|
| - __ cmp(ebx, Immediate(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
|
| - __ j(equal, &adaptor_frame);
|
| - // default constructor has no arguments, so no adaptor frame means no args.
|
| - __ mov(eax, Immediate(0));
|
| - __ jmp(&args_set_up);
|
| -
|
| - // Copy arguments from adaptor frame.
|
| - {
|
| - __ bind(&adaptor_frame);
|
| - __ mov(ebx, Operand(edx, ArgumentsAdaptorFrameConstants::kLengthOffset));
|
| - __ SmiUntag(ebx);
|
| -
|
| - __ mov(eax, ebx);
|
| - __ lea(edx, Operand(edx, ebx, times_pointer_size,
|
| - StandardFrameConstants::kCallerSPOffset));
|
| - Label loop;
|
| - __ bind(&loop);
|
| - __ push(Operand(edx, -1 * kPointerSize));
|
| - __ sub(edx, Immediate(kPointerSize));
|
| - __ dec(ebx);
|
| - __ j(not_zero, &loop);
|
| - }
|
| -
|
| - __ bind(&args_set_up);
|
| -
|
| - __ 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::CODE_TARGET);
|
| -
|
| - // Restore context register.
|
| - __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset));
|
| -
|
| - context()->DropAndPlug(1, eax);
|
| -}
|
| -
|
| -
|
| void FullCodeGenerator::EmitHasCachedArrayIndex(CallRuntime* expr) {
|
| ZoneList<Expression*>* args = expr->arguments();
|
| DCHECK(args->length() == 1);
|
|
|