[Lldb-commits] [lldb] r350384 - Symtab: Remove one copy of symbol size computation code

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Fri Jan 4 02:11:25 PST 2019


Author: labath
Date: Fri Jan  4 02:11:25 2019
New Revision: 350384

URL: http://llvm.org/viewvc/llvm-project?rev=350384&view=rev
Log:
Symtab: Remove one copy of symbol size computation code

Summary:
The implementation in CalculateSymbolSizes has been made redundant in
D19004, as this patch added another copy of size computation code into
InitAddressIndexes (which is called by CalculateSymbolSizes).

Reviewers: clayborg, jasonmolenda, tberghammer

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D56132

Modified:
    lldb/trunk/source/Symbol/Symtab.cpp

Modified: lldb/trunk/source/Symbol/Symtab.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/Symtab.cpp?rev=350384&r1=350383&r2=350384&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/Symtab.cpp (original)
+++ lldb/trunk/source/Symbol/Symtab.cpp Fri Jan  4 02:11:25 2019
@@ -976,32 +976,8 @@ void Symtab::InitAddressIndexes() {
 
 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) {




More information about the lldb-commits mailing list