[Lldb-commits] [PATCH] D47492: DWARFUnit::m_die_array swap()->shrink_to_fit()

Jan Kratochvil via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue May 29 12:39:39 PDT 2018

jankratochvil created this revision.
jankratochvil added a reviewer: clayborg.
Herald added a subscriber: JDevlieghere.

https://reviews.llvm.org/rL145086 introduced `m_die_array.shrink_to_fit()` implemented by `exact_size_die_array.swap`, it was before LLVM became written in C++11.

That is fine to use `shrink_to_fit()` now, right? Although I see no real performance gain by a simple `time` test.



Index: source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
--- source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
+++ source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
@@ -180,15 +180,7 @@
     m_first_die = m_die_array.front();
-  // Since std::vector objects will double their size, we really need to make a
-  // new array with the perfect size so we don't end up wasting space. So here
-  // we copy and swap to make sure we don't have any extra memory taken up.
-  if (m_die_array.size() < m_die_array.capacity()) {
-    DWARFDebugInfoEntry::collection exact_size_die_array(m_die_array.begin(),
-                                                         m_die_array.end());
-    exact_size_die_array.swap(m_die_array);
-  }
+  m_die_array.shrink_to_fit();

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47492.148964.patch
Type: text/x-patch
Size: 858 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180529/6d988f64/attachment.bin>

More information about the lldb-commits mailing list