llvm-project/lldb/source
Pavel Labath a71ce4f1e8 DWARF: Avoid storing DIERefs in long-lived containers
Summary:
A user_id_t carries the same information as a DIERef, but it takes up
less space.

Furthermore, DIERef::operator<'s implementation is very
questionable, as it does not take the cu_offset and section fields into
account. Using just the die offset was correct in the days when all
debug info lived in a single section, but since we started supporting
DWO debug info, this was no longer true. The comparison operator could
be fixed, but it seems like using the user_id_t for these purposes is a
better idea overall.

I think this did not cause any bugs, because the only place the
comparison operator was used is in m_function_scope_qualified_name_map,
and this one is local to a dwo file, but I am not 100% sure of that.

Reviewers: clayborg, JDevlieghere

Subscribers: aprantl, lldb-commits

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

llvm-svn: 363528
2019-06-17 07:32:56 +00:00
..
API [NFC] Replace a plugin header with a non-plugin header 2019-06-13 23:40:34 +00:00
Breakpoint [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
Commands [Expression] Add PersistentExpressionState::GetCompilerTypeFromPersistentDecl 2019-06-12 17:47:06 +00:00
Core Recognise debug_types.dwo as a debug info section 2019-06-12 11:42:42 +00:00
DataFormatters [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
Expression Have DWARFUnit store a *reference* to SymbolFileDWARF 2019-06-14 13:01:16 +00:00
Host Silence 'warning: extra ‘;’ [-Wpedantic]' with GCC 7.3 2019-06-01 21:47:44 +00:00
Initialization [Reproducers] Include lldb version in the reproducer root 2019-06-13 04:35:22 +00:00
Interpreter Fix a crash in option parsing. 2019-06-11 21:14:02 +00:00
Plugins DWARF: Avoid storing DIERefs in long-lived containers 2019-06-17 07:32:56 +00:00
Symbol Remove stale comment and disabled code (NFC) 2019-06-14 18:12:55 +00:00
Target [LanguageRuntime] Simplify CreateExceptionSearchFilter in derived classes 2019-06-11 22:52:08 +00:00
Utility [Reproducers] Remove call to lldb_private::GetVersion() 2019-06-13 05:14:25 +00:00
CMakeLists.txt [CMake] Remove Apple-specific version logic. 2019-04-17 18:23:22 +00:00
lldb.cpp [CMake] Remove Apple-specific version logic. 2019-04-17 18:23:22 +00:00