[all-commits] [llvm/llvm-project] 9dc84e: [lldb/DWARF] Don't hold a unique SymbolFileDWARFDw...

plabath via All-commits all-commits at lists.llvm.org
Fri Feb 14 02:09:52 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 9dc84e9b02d1e402503906099d42fbae4da7d8d9
      https://github.com/llvm/llvm-project/commit/9dc84e9b02d1e402503906099d42fbae4da7d8d9
  Author: Pavel Labath <labath at google.com>
  Date:   2020-02-14 (Fri, 14 Feb 2020)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h

  Log Message:
  -----------
  [lldb/DWARF] Don't hold a unique SymbolFileDWARFDwo in a DWARFUnit

This is the second dwp preparatory patch. When a SymbolFileDWARFDwo will
hold more than one split unit, it will not be able to be uniquely owned
by a single DWARFUnit. I achieve this by changing the
unique_ptr<SymbolFileDWARFDwo> member of DWARFUnit to
shared_ptr<DWARFUnit>. The shared_ptr points to a DWARFUnit, but it is
in fact holding the entire SymbolFileDWARFDwo alive. This is the same
method used by llvm DWARFUnit (except that is uses the DWARFContext
class).

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




More information about the All-commits mailing list