Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index c57c78559803c81e51137a32876688dff0ceebc0..aca8b45e2460620948d692abb826257600e57510 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1781,13 +1781,11 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
__ CallStub(&stub); |
__ IncrementCounter( |
isolate()->counters()->cow_arrays_created_stub(), 1, r1, r2); |
- } else if (expr->depth() > 1) { |
+ } else if (expr->depth() > 1 || |
+ Serializer::enabled() || |
+ length > FastCloneShallowArrayStub::kMaximumClonedLength) { |
__ Push(r3, r2, r1); |
__ CallRuntime(Runtime::kCreateArrayLiteral, 3); |
- } else if (Serializer::enabled() || |
- length > FastCloneShallowArrayStub::kMaximumClonedLength) { |
- __ Push(r3, r2, r1); |
- __ CallRuntime(Runtime::kCreateArrayLiteralShallow, 3); |
} else { |
ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) || |
FLAG_smi_only_arrays); |