Index: src/mips/full-codegen-mips.cc |
diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc |
index e5a870094801e9e350de82bf0eb52a93ac7535bd..b162d267236cc1f32ddeaee0ea0f08b96065743a 100644 |
--- a/src/mips/full-codegen-mips.cc |
+++ b/src/mips/full-codegen-mips.cc |
@@ -1744,6 +1744,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); |
} |