[Lldb-commits] [PATCH] D56132: Symtab: Remove one copy of symbol size computation code

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Dec 28 06:59:06 PST 2018


labath created this revision.
labath added reviewers: clayborg, jasonmolenda, tberghammer.

The implementation in CalculateSymbolSizes has been made redundant in
D19004 <https://reviews.llvm.org/D19004>, as this patch added another copy of size computation code into
InitAddressIndexes (which is called by CalculateSymbolSizes).


https://reviews.llvm.org/D56132

Files:
  source/Symbol/Symtab.cpp


Index: source/Symbol/Symtab.cpp
===================================================================
--- source/Symbol/Symtab.cpp
+++ source/Symbol/Symtab.cpp
@@ -976,32 +976,8 @@
 
 void Symtab::CalculateSymbolSizes() {
   std::lock_guard<std::recursive_mutex> guard(m_mutex);
-
-  if (!m_symbols.empty()) {
-    if (!m_file_addr_to_index_computed)
-      InitAddressIndexes();
-
-    const size_t num_entries = m_file_addr_to_index.GetSize();
-
-    for (size_t i = 0; i < num_entries; ++i) {
-      // The entries in the m_file_addr_to_index have calculated the sizes
-      // already so we will use this size if we need to.
-      const FileRangeToIndexMap::Entry &entry =
-          m_file_addr_to_index.GetEntryRef(i);
-
-      Symbol &symbol = m_symbols[entry.data];
-
-      // If the symbol size is already valid, no need to do anything
-      if (symbol.GetByteSizeIsValid())
-        continue;
-
-      const addr_t range_size = entry.GetByteSize();
-      if (range_size > 0) {
-        symbol.SetByteSize(range_size);
-        symbol.SetSizeIsSynthesized(true);
-      }
-    }
-  }
+  // Size computation happens inside InitAddressIndexes.
+  InitAddressIndexes();
 }
 
 Symbol *Symtab::FindSymbolAtFileAddress(addr_t file_addr) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56132.179635.patch
Type: text/x-patch
Size: 1245 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20181228/b423aabf/attachment.bin>


More information about the lldb-commits mailing list