| Index: src/full-codegen/arm/full-codegen-arm.cc
|
| diff --git a/src/full-codegen/arm/full-codegen-arm.cc b/src/full-codegen/arm/full-codegen-arm.cc
|
| index acd877f62b3e79a30775456ab940d385ca94509a..8b8dff88d894e77255db49fc1ad21e993a26dc0b 100644
|
| --- a/src/full-codegen/arm/full-codegen-arm.cc
|
| +++ b/src/full-codegen/arm/full-codegen-arm.cc
|
| @@ -3724,63 +3724,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 r3.
|
| - __ ldr(r3, MemOperand(sp, 1 * kPointerSize));
|
| -
|
| - // Check if the calling frame is an arguments adaptor frame.
|
| - Label adaptor_frame, args_set_up, runtime;
|
| - __ ldr(r2, MemOperand(fp, StandardFrameConstants::kCallerFPOffset));
|
| - __ ldr(r4, MemOperand(r2, StandardFrameConstants::kContextOffset));
|
| - __ cmp(r4, Operand(Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR)));
|
| - __ b(eq, &adaptor_frame);
|
| - // default constructor has no arguments, so no adaptor frame means no args.
|
| - __ mov(r0, Operand::Zero());
|
| - __ b(&args_set_up);
|
| -
|
| - // Copy arguments from adaptor frame.
|
| - {
|
| - __ bind(&adaptor_frame);
|
| - __ ldr(r1, MemOperand(r2, ArgumentsAdaptorFrameConstants::kLengthOffset));
|
| - __ SmiUntag(r1, r1);
|
| - __ mov(r0, r1);
|
| -
|
| - // Get arguments pointer in r2.
|
| - __ add(r2, r2, Operand(r1, LSL, kPointerSizeLog2));
|
| - __ add(r2, r2, Operand(StandardFrameConstants::kCallerSPOffset));
|
| - Label loop;
|
| - __ bind(&loop);
|
| - // Pre-decrement r2 with kPointerSize on each iteration.
|
| - // Pre-decrement in order to skip receiver.
|
| - __ ldr(r4, MemOperand(r2, kPointerSize, NegPreIndex));
|
| - __ Push(r4);
|
| - __ sub(r1, r1, Operand(1));
|
| - __ cmp(r1, Operand::Zero());
|
| - __ b(ne, &loop);
|
| - }
|
| -
|
| - __ bind(&args_set_up);
|
| - __ ldr(r1, MemOperand(sp, r0, LSL, kPointerSizeLog2));
|
| - __ Call(isolate()->builtins()->Construct(), RelocInfo::CODE_TARGET);
|
| -
|
| - // Restore context register.
|
| - __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
| -
|
| - context()->DropAndPlug(1, r0);
|
| -}
|
| -
|
| -
|
| void FullCodeGenerator::EmitHasCachedArrayIndex(CallRuntime* expr) {
|
| ZoneList<Expression*>* args = expr->arguments();
|
| VisitForAccumulatorValue(args->at(0));
|
|
|