Index: src/mips/full-codegen-mips.cc |
diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc |
index d4390b2c67554f638894dd410aa4dbee4118b53b..c4341dc375a3c33a1bfd314e11153225620cab17 100644 |
--- a/src/mips/full-codegen-mips.cc |
+++ b/src/mips/full-codegen-mips.cc |
@@ -1730,7 +1730,9 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
if (has_fast_elements && constant_elements_values->map() == |
isolate()->heap()->fixed_cow_array_map()) { |
FastCloneShallowArrayStub stub( |
- FastCloneShallowArrayStub::COPY_ON_WRITE_ELEMENTS, length); |
+ FastCloneShallowArrayStub::COPY_ON_WRITE_ELEMENTS, |
+ DONT_TRACK_ALLOCATION_SITE, |
+ length); |
__ CallStub(&stub); |
__ IncrementCounter(isolate()->counters()->cow_arrays_created_stub(), |
1, a1, a2); |
@@ -1741,19 +1743,17 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
} else { |
ASSERT(IsFastSmiOrObjectElementsKind(constant_elements_kind) || |
FLAG_smi_only_arrays); |
- 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::Mode mode = |
+ FastCloneShallowArrayStub::CLONE_ANY_ELEMENTS; |
+ AllocationSiteMode allocation_site_mode = FLAG_track_allocation_sites |
+ ? TRACK_ALLOCATION_SITE : DONT_TRACK_ALLOCATION_SITE; |
+ |
+ if (has_fast_elements) { |
+ mode = FastCloneShallowArrayStub::CLONE_ELEMENTS; |
+ allocation_site_mode = DONT_TRACK_ALLOCATION_SITE; |
} |
- FastCloneShallowArrayStub stub(mode, length); |
+ FastCloneShallowArrayStub stub(mode, allocation_site_mode, length); |
__ CallStub(&stub); |
} |