| Index: src/arm/code-stubs-arm.cc
|
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc
|
| index 56a93274abe130fe453cd2ac1ec57f30f8184d13..9188b58c326329fac4c145be016a866fcb1b758e 100644
|
| --- a/src/arm/code-stubs-arm.cc
|
| +++ b/src/arm/code-stubs-arm.cc
|
| @@ -4614,7 +4614,25 @@ void ArrayConstructorStub::Generate(MacroAssembler* masm) {
|
| GenerateDispatchToArrayStub(masm, DISABLE_ALLOCATION_SITES);
|
|
|
| __ bind(&subclassing);
|
| - __ TailCallRuntime(Runtime::kThrowArrayNotSubclassableError, 0, 1);
|
| + __ push(r1);
|
| + __ push(r3);
|
| +
|
| + // Adjust argc.
|
| + switch (argument_count()) {
|
| + case ANY:
|
| + case MORE_THAN_ONE:
|
| + __ add(r0, r0, Operand(2));
|
| + break;
|
| + case NONE:
|
| + __ mov(r0, Operand(2));
|
| + break;
|
| + case ONE:
|
| + __ mov(r0, Operand(3));
|
| + break;
|
| + }
|
| +
|
| + __ JumpToExternalReference(
|
| + ExternalReference(Runtime::kArrayConstructorWithSubclassing, isolate()));
|
| }
|
|
|
|
|
|
|