Changeset 159097 in webkit
- Timestamp:
- Nov 11, 2013 11:56:39 PM (10 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r159091 r159097 1 2013-11-11 Andreas Kling <akling@apple.com> 2 3 CodeBlock: Un-segment some Vectors. 4 <https://webkit.org/b/124188> 5 6 Turn some SegmentedVectors into Vectors where the final item count 7 is known at CodeBlock construction time. This removes unnecessary 8 allocation and indirection. 9 10 I've got ~4.5 MB below SegmentedVector<ValueProfile>::ensureSegment 11 on Membuster3 (peak, before pressure signal) so this should help 12 take a bit of the edge off there. 13 14 Reviewed by Geoffrey Garen. 15 1 16 2013-11-11 Filip Pizlo <fpizlo@apple.com> 2 17 -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r159069 r159097 1719 1719 m_arrayProfiles.grow(size); 1720 1720 if (size_t size = unlinkedCodeBlock->numberOfArrayAllocationProfiles()) 1721 m_arrayAllocationProfiles. grow(size);1721 m_arrayAllocationProfiles.resizeToFit(size); 1722 1722 if (size_t size = unlinkedCodeBlock->numberOfValueProfiles()) 1723 m_valueProfiles. grow(size);1723 m_valueProfiles.resizeToFit(size); 1724 1724 #endif 1725 1725 if (size_t size = unlinkedCodeBlock->numberOfObjectAllocationProfiles()) 1726 m_objectAllocationProfiles. grow(size);1726 m_objectAllocationProfiles.resizeToFit(size); 1727 1727 1728 1728 // Copy and translate the UnlinkedInstructions -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
r158507 r159097 1045 1045 #if ENABLE(VALUE_PROFILER) 1046 1046 Vector<ValueProfile> m_argumentValueProfiles; 1047 SegmentedVector<ValueProfile, 8> m_valueProfiles;1047 Vector<ValueProfile> m_valueProfiles; 1048 1048 SegmentedVector<RareCaseProfile, 8> m_rareCaseProfiles; 1049 1049 SegmentedVector<RareCaseProfile, 8> m_specialFastCaseProfiles; 1050 SegmentedVector<ArrayAllocationProfile, 8> m_arrayAllocationProfiles;1050 Vector<ArrayAllocationProfile> m_arrayAllocationProfiles; 1051 1051 ArrayProfileVector m_arrayProfiles; 1052 1052 #endif 1053 SegmentedVector<ObjectAllocationProfile, 8> m_objectAllocationProfiles;1053 Vector<ObjectAllocationProfile> m_objectAllocationProfiles; 1054 1054 1055 1055 // Constant Pool
Note: See TracChangeset
for help on using the changeset viewer.