Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index b6f3e6760cc89a88e6bc096ca02e3763278a13f7..cb9509ffb13d738e676cd8c591cc170f1cd97d2d 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1733,6 +1733,15 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
FastCloneShallowArrayStub::Mode mode = has_fast_elements |
? FastCloneShallowArrayStub::CLONE_ELEMENTS |
: FastCloneShallowArrayStub::CLONE_ANY_ELEMENTS; |
+ |
+ // Tracking allocation info allows us to pre-transition later if it makes |
+ // sense. |
+ if (mode == FastCloneShallowArrayStub::CLONE_ANY_ELEMENTS && |
+ FLAG_track_allocation_sites) { |
+ mode = FastCloneShallowArrayStub:: |
+ CLONE_ANY_ELEMENTS_WITH_ALLOCATION_SITE_INFO; |
+ } |
+ |
FastCloneShallowArrayStub stub(mode, length); |
__ CallStub(&stub); |
} |