| Index: src/full-codegen/ia32/full-codegen-ia32.cc
|
| diff --git a/src/full-codegen/ia32/full-codegen-ia32.cc b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| index 28fbe85bbe6d53b6e7b79380bbf9139b3d2aca2f..4277d2fc8bc804595d0337e271f354cbabeaf299 100644
|
| --- a/src/full-codegen/ia32/full-codegen-ia32.cc
|
| +++ b/src/full-codegen/ia32/full-codegen-ia32.cc
|
| @@ -3615,58 +3615,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);
|
|
|