jankratochvil marked an inline comment as done. jankratochvil added inline comments.
================ Comment at: source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h:216 + DWARFCompileUnitData *m_data; + ---------------- clayborg wrote: > jankratochvil wrote: > > clayborg wrote: > > > Is there a reason this is a member variable that I am not seeing? Seems > > > we could have this class inherit from DWARFCompileUnitData. I am guessing > > > this will be needed for a future patch? > > Yes, future patch D40474 contains a new constructor so multiple > > `DWARFCompileUnit` then point to single `DWARFCompileUnitData`. Sure that > > happens only in the case ot `DW_TAG_partial_unit` (one `DWARFCompileUnit` > > is read from a file while other `DWARFCompileUnit` are remapped instances > > with unique offset as used from units which did use `DW_TAG_imported_unit` > > for them). > > `DWARFCompileUnit(DWARFCompileUnitData *data, DWARFCompileUnit *main_cu);` > > > We should just have an instance of this in this class and add a virtual > function to retrieve it. Then we make a DWARFPartialUnit that subclasses this > and has its own extra member variable and can use either one when it makes > sense. Not a fan of just having a dangling pointer with no clear ownership. > There is no "delete m_data" anywhere? The `DWARFCompileUnitData *m_data` content is being held in: `std::forward_list<DWARFCompileUnitData> SymbolFileDWARF::m_compile_unit_data_list` as I hope/believe a `DWARFCompileUnit` is never deleted until whole `SymbolFileDWARF` is deleted. I did not use `std::shared_ptr<DWARFCompileUnitData> DWARFCompileUnit::m_data` as `shared_ptr` is both memory and lock-instruction-performance expensive. https://reviews.llvm.org/D40466 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits