diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h')
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h | 106 |
1 files changed, 1 insertions, 105 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h index 978f173fe11..1cf6a677450 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h @@ -18,114 +18,10 @@ class DWARFCompileUnit : public DWARFUnit { public: static DWARFUnitSP Extract(SymbolFileDWARF *dwarf2Data, lldb::offset_t *offset_ptr); - - size_t ExtractDIEsIfNeeded(bool cu_die_only); - DWARFDIE LookupAddress(const dw_addr_t address); - size_t AppendDIEsWithTag(const dw_tag_t tag, - DWARFDIECollection &matching_dies, - uint32_t depth = UINT32_MAX) const; - bool Verify(lldb_private::Stream *s) const; - void Dump(lldb_private::Stream *s) const; - lldb::user_id_t GetID() const; - dw_offset_t GetAbbrevOffset() const; - void SetAddrBase(dw_addr_t addr_base, dw_addr_t ranges_base, dw_offset_t base_obj_offset); - void ClearDIEs(bool keep_compile_unit_die); - void BuildAddressRangeTable(SymbolFileDWARF *dwarf2Data, - DWARFDebugAranges *debug_aranges); - - lldb_private::TypeSystem *GetTypeSystem(); - - DWARFDIE - GetCompileUnitDIEOnly() { return DWARFDIE(this, GetCompileUnitDIEPtrOnly()); } - - DWARFDIE - DIE() { return DWARFDIE(this, DIEPtr()); } - - void AddDIE(DWARFDebugInfoEntry &die) { - // The average bytes per DIE entry has been seen to be - // around 14-20 so lets pre-reserve half of that since - // we are now stripping the NULL tags. - - // Only reserve the memory if we are adding children of - // the main compile unit DIE. The compile unit DIE is always - // the first entry, so if our size is 1, then we are adding - // the first compile unit child DIE and should reserve - // the memory. - if (m_die_array.empty()) - m_die_array.reserve(GetDebugInfoSize() / 24); - m_die_array.push_back(die); - } - - void AddCompileUnitDIE(DWARFDebugInfoEntry &die); - - void SetUserData(void *d); - - const DWARFDebugAranges &GetFunctionAranges(); - - DWARFProducer GetProducer(); - - uint32_t GetProducerVersionMajor(); - - uint32_t GetProducerVersionMinor(); - - uint32_t GetProducerVersionUpdate(); - - lldb::LanguageType GetLanguageType(); - - bool GetIsOptimized(); - -protected: - virtual DWARFCompileUnit &Data() override { return *this; } - virtual const DWARFCompileUnit &Data() const override { return *this; } - - SymbolFileDWARF *m_dwarf2Data; - std::unique_ptr<SymbolFileDWARFDwo> m_dwo_symbol_file; - const DWARFAbbreviationDeclarationSet *m_abbrevs; - void *m_user_data = nullptr; - DWARFDebugInfoEntry::collection - m_die_array; // The compile unit debug information entry item - std::unique_ptr<DWARFDebugAranges> m_func_aranges_ap; // A table similar to - // the .debug_aranges - // table, but this one - // points to the exact - // DW_TAG_subprogram - // DIEs - dw_addr_t m_base_addr = 0; - dw_offset_t m_length; - uint16_t m_version; - uint8_t m_addr_size; - DWARFProducer m_producer = eProducerInvalid; - uint32_t m_producer_version_major = 0; - uint32_t m_producer_version_minor = 0; - uint32_t m_producer_version_update = 0; - lldb::LanguageType m_language_type = lldb::eLanguageTypeUnknown; - bool m_is_dwarf64; - lldb_private::LazyBool m_is_optimized = lldb_private::eLazyBoolCalculate; - dw_addr_t m_addr_base = 0; // Value of DW_AT_addr_base - dw_addr_t m_ranges_base = 0; // Value of DW_AT_ranges_base - // If this is a dwo compile unit this is the offset of the base compile unit - // in the main object file - dw_offset_t m_base_obj_offset = DW_INVALID_OFFSET; - - void ParseProducerInfo(); + void Dump(lldb_private::Stream *s) const override; private: DWARFCompileUnit(SymbolFileDWARF *dwarf2Data); - - const DWARFDebugInfoEntry *GetCompileUnitDIEPtrOnly() { - ExtractDIEsIfNeeded(true); - if (m_die_array.empty()) - return NULL; - return &m_die_array[0]; - } - - const DWARFDebugInfoEntry *DIEPtr() { - ExtractDIEsIfNeeded(false); - if (m_die_array.empty()) - return NULL; - return &m_die_array[0]; - } - DISALLOW_COPY_AND_ASSIGN(DWARFCompileUnit); }; |

