| Index: src/full-codegen/mips/full-codegen-mips.cc
|
| diff --git a/src/full-codegen/mips/full-codegen-mips.cc b/src/full-codegen/mips/full-codegen-mips.cc
|
| index 14ff5c3443d893ab4c09bb8a8bbae60505d25231..f7035149f020bc67d0bf1c85dd0b11fa3c06cdbd 100644
|
| --- a/src/full-codegen/mips/full-codegen-mips.cc
|
| +++ b/src/full-codegen/mips/full-codegen-mips.cc
|
| @@ -3732,67 +3732,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);
|
| -
|
| - // Load new target into a3.
|
| - __ lw(a3, MemOperand(sp, 1 * kPointerSize));
|
| -
|
| - // Check if the calling frame is an arguments adaptor frame.
|
| - Label adaptor_frame, args_set_up, runtime;
|
| - __ lw(a2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset));
|
| - __ lw(t0, MemOperand(a2, StandardFrameConstants::kContextOffset));
|
| - __ Branch(&adaptor_frame, eq, t0,
|
| - Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
|
| - // default constructor has no arguments, so no adaptor frame means no args.
|
| - __ mov(a0, zero_reg);
|
| - __ Branch(&args_set_up);
|
| -
|
| - // Copy arguments from adaptor frame.
|
| - {
|
| - __ bind(&adaptor_frame);
|
| - __ lw(a1, MemOperand(a2, ArgumentsAdaptorFrameConstants::kLengthOffset));
|
| - __ SmiUntag(a1, a1);
|
| -
|
| - __ mov(a0, a1);
|
| -
|
| - // Get arguments pointer in a2.
|
| - __ sll(at, a1, kPointerSizeLog2);
|
| - __ addu(a2, a2, at);
|
| - __ Addu(a2, a2, Operand(StandardFrameConstants::kCallerSPOffset));
|
| - Label loop;
|
| - __ bind(&loop);
|
| - // Pre-decrement a2 with kPointerSize on each iteration.
|
| - // Pre-decrement in order to skip receiver.
|
| - __ Addu(a2, a2, Operand(-kPointerSize));
|
| - __ lw(t0, MemOperand(a2));
|
| - __ Push(t0);
|
| - __ Addu(a1, a1, Operand(-1));
|
| - __ Branch(&loop, ne, a1, Operand(zero_reg));
|
| - }
|
| -
|
| - __ bind(&args_set_up);
|
| - __ sll(at, a0, kPointerSizeLog2);
|
| - __ Addu(at, at, Operand(sp));
|
| - __ lw(a1, MemOperand(at, 0));
|
| - __ Call(isolate()->builtins()->Construct(), RelocInfo::CODE_TARGET);
|
| -
|
| - // Restore context register.
|
| - __ lw(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
| -
|
| - context()->DropAndPlug(1, result_register());
|
| -}
|
| -
|
| -
|
| void FullCodeGenerator::EmitHasCachedArrayIndex(CallRuntime* expr) {
|
| ZoneList<Expression*>* args = expr->arguments();
|
| VisitForAccumulatorValue(args->at(0));
|
|
|