llvm-project/lldb/source/Plugins/SymbolFile
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
..
Breakpad Breakpad: Generate unwind plans from STACK CFI records 2019-05-13 11:25:35 +00:00
DWARF DWARF: Avoid storing DIERefs in long-lived containers 2019-06-17 07:32:56 +00:00
NativePDB [COFF, ARM64] Fix CodeView API change for getRegisterNames 2019-06-03 00:48:16 +00:00
PDB [DWARFExpression] Remove ctor that takes just a compile unit. 2019-05-28 17:34:05 +00:00
Symtab [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
CMakeLists.txt Introduce SymbolFileBreakpad and use it to fill symtab 2019-01-11 11:17:51 +00:00