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)); |