LLDB mainline
|
#include <DWARFDebugAranges.h>
Public Types | |
typedef RangeToDIE::Entry | Range |
typedef std::vector< RangeToDIE::Entry > | RangeColl |
Public Member Functions | |
DWARFDebugAranges () | |
void | Clear () |
void | extract (const DWARFDataExtractor &debug_aranges_data) |
void | AppendRange (dw_offset_t cu_offset, dw_addr_t low_pc, dw_addr_t high_pc) |
void | Sort (bool minimize) |
void | Dump (Log *log) const |
dw_offset_t | FindAddress (dw_addr_t address) const |
bool | IsEmpty () const |
size_t | GetNumRanges () const |
dw_offset_t | OffsetAtIndex (uint32_t idx) const |
Protected Types | |
typedef RangeDataVector< dw_addr_t, uint32_t, dw_offset_t > | RangeToDIE |
Protected Attributes | |
RangeToDIE | m_aranges |
Definition at line 18 of file DWARFDebugAranges.h.
Definition at line 23 of file DWARFDebugAranges.h.
typedef std::vector<RangeToDIE::Entry> lldb_private::plugin::dwarf::DWARFDebugAranges::RangeColl |
Definition at line 24 of file DWARFDebugAranges.h.
|
protected |
Definition at line 20 of file DWARFDebugAranges.h.
DWARFDebugAranges::DWARFDebugAranges | ( | ) |
Definition at line 21 of file DWARFDebugAranges.cpp.
void DWARFDebugAranges::AppendRange | ( | dw_offset_t | cu_offset, |
dw_addr_t | low_pc, | ||
dw_addr_t | high_pc | ||
) |
Definition at line 85 of file DWARFDebugAranges.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), and m_aranges.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::AddOSOARanges(), lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), and lldb_private::plugin::dwarf::DWARFDebugInfoEntry::BuildFunctionAddressRangeTable().
|
inline |
Definition at line 28 of file DWARFDebugAranges.h.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::Clear(), and m_aranges.
void DWARFDebugAranges::Dump | ( | Log * | log | ) | const |
Definition at line 72 of file DWARFDebugAranges.cpp.
References lldb_private::RangeData< B, S, T >::data, lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex(), lldb_private::Range< B, S >::GetRangeBase(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), LLDB_LOG, and m_aranges.
void DWARFDebugAranges::extract | ( | const DWARFDataExtractor & | debug_aranges_data | ) |
Definition at line 36 of file DWARFDebugAranges.cpp.
References lldb_private::plugin::dwarf::DWARFDebugArangeSet::Descriptor::address, lldb_private::RangeDataVector< B, S, T, N, Compare >::Append(), lldb_private::plugin::dwarf::DWARFDebugArangeSet::Clear(), lldb_private::plugin::dwarf::DWARFDebugArangeSet::Header::cu_offset, lldb_private::DebugInfo, error(), lldb_private::plugin::dwarf::DWARFDebugArangeSet::extract(), lldb_private::plugin::dwarf::DWARFDebugArangeSet::GetDescriptorRef(), lldb_private::plugin::dwarf::DWARFDebugArangeSet::GetHeader(), lldb_private::GetLog(), lldb_private::plugin::dwarf::DWARFDebugArangeSet::GetNextOffset(), lldb_private::plugin::dwarf::DWARFDebugArangeSet::Descriptor::length, LLDB_LOG_ERROR, m_aranges, lldb_private::plugin::dwarf::DWARFDebugArangeSet::NumDescriptors(), and lldb_private::DataExtractor::ValidOffset().
dw_offset_t DWARFDebugAranges::FindAddress | ( | dw_addr_t | address | ) | const |
Definition at line 99 of file DWARFDebugAranges.cpp.
References lldb_private::RangeData< B, S, T >::data, DW_INVALID_OFFSET, lldb_private::RangeDataVector< B, S, T, N, Compare >::FindEntryThatContains(), and m_aranges.
Referenced by lldb_private::plugin::dwarf::DWARFCompileUnit::LookupAddress().
|
inline |
Definition at line 42 of file DWARFDebugAranges.h.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::GetSize(), and m_aranges.
Referenced by lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable().
|
inline |
Definition at line 41 of file DWARFDebugAranges.h.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::IsEmpty(), and m_aranges.
Referenced by lldb_private::plugin::dwarf::DWARFCompileUnit::LookupAddress().
|
inline |
Definition at line 44 of file DWARFDebugAranges.h.
References lldb_private::RangeData< B, S, T >::data, DW_INVALID_OFFSET, lldb_private::RangeDataVector< B, S, T, N, Compare >::GetEntryAtIndex(), and m_aranges.
void DWARFDebugAranges::Sort | ( | bool | minimize | ) |
Definition at line 91 of file DWARFDebugAranges.cpp.
References lldb_private::RangeDataVector< B, S, T, N, Compare >::CombineConsecutiveEntriesWithEqualData(), LLDB_SCOPED_TIMER, m_aranges, and lldb_private::RangeDataVector< B, S, T, N, Compare >::Sort().
|
protected |
Definition at line 52 of file DWARFDebugAranges.h.
Referenced by AppendRange(), Clear(), Dump(), extract(), FindAddress(), GetNumRanges(), IsEmpty(), OffsetAtIndex(), and Sort().