[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