LLDB mainline
|
#include <RangeMap.h>
Public Types | |
typedef B | BaseType |
typedef S | SizeType |
typedef Range< B, S > | Entry |
typedef llvm::SmallVector< Entry, N > | Collection |
using | const_iterator = typename Collection::const_iterator |
Public Member Functions | |
RangeVector ()=default | |
~RangeVector ()=default | |
bool | operator== (const RangeVector &rhs) const |
void | Append (const Entry &entry) |
void | Append (B base, S size) |
void | Insert (const Entry &entry, bool combine) |
bool | RemoveEntryAtIndex (uint32_t idx) |
void | Sort () |
void | CombineConsecutiveRanges () |
BaseType | GetMinRangeBase (BaseType fail_value) const |
BaseType | GetMaxRangeEnd (BaseType fail_value) const |
void | Slide (BaseType slide) |
void | Clear () |
void | Reserve (typename Collection::size_type size) |
bool | IsEmpty () const |
size_t | GetSize () const |
const Entry * | GetEntryAtIndex (size_t i) const |
Entry & | GetEntryRef (size_t i) |
const Entry & | GetEntryRef (size_t i) const |
Entry * | Back () |
const Entry * | Back () const |
uint32_t | FindEntryIndexThatContains (B addr) const |
const Entry * | FindEntryThatContains (B addr) const |
const Entry * | FindEntryThatContains (const Entry &range) const |
const_iterator | begin () const |
const_iterator | end () const |
Static Public Member Functions | |
static RangeVector | GetOverlaps (const RangeVector &vec1, const RangeVector &vec2) |
static bool | BaseLessThan (const Entry &lhs, const Entry &rhs) |
Protected Member Functions | |
void | CombinePrevAndNext (typename Collection::iterator pos) |
Protected Attributes | |
Collection | m_entries |
Definition at line 136 of file RangeMap.h.
typedef B lldb_private::RangeVector< B, S, N >::BaseType |
Definition at line 138 of file RangeMap.h.
typedef llvm::SmallVector<Entry, N> lldb_private::RangeVector< B, S, N >::Collection |
Definition at line 141 of file RangeMap.h.
using lldb_private::RangeVector< B, S, N >::const_iterator = typename Collection::const_iterator |
Definition at line 383 of file RangeMap.h.
typedef Range<B, S> lldb_private::RangeVector< B, S, N >::Entry |
Definition at line 140 of file RangeMap.h.
typedef S lldb_private::RangeVector< B, S, N >::SizeType |
Definition at line 139 of file RangeMap.h.
|
default |
|
default |
|
inline |
Definition at line 181 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
|
inline |
Definition at line 179 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::MemoryCache::AddInvalidRange(), lldb_private::Block::AddRange(), AddSectionsToRangeMap(), lldb_private::AllocatedBlock::AllocatedBlock(), lldb_private::plugin::dwarf::DWARFDebugRanges::Extract(), lldb_private::plugin::dwarf::DWARFUnit::FindRnglistFromOffset(), lldb_private::plugin::dwarf::DWARFDebugInfoEntry::GetAttributeAddressRanges(), lldb_private::LineTable::GetContiguousFileAddressRanges(), lldb_private::plugin::dwarf::DWARFDebugInfoEntry::GetDIENamesAndRanges(), ObjectFileMachO::GetEncryptedFileRanges(), lldb_private::DWARFCallFrameInfo::GetFunctionAddressAndSizeVector(), ObjectFileMachO::GetNumThreadContexts(), lldb_private::RangeVector< B, S, N >::GetOverlaps(), MakeRangeList(), lldb_private::SymbolFileCTF::ParseObjects(), and SymbolFilePDB::ParseVariableForPDBData().
|
inline |
Definition at line 306 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase().
|
inline |
Definition at line 308 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
|
inlinestatic |
Definition at line 312 of file RangeMap.h.
References lldb_private::Range< B, S >::GetRangeBase().
Referenced by lldb_private::RangeVector< B, S, N >::FindEntryIndexThatContains(), and lldb_private::RangeVector< B, S, N >::FindEntryThatContains().
|
inline |
Definition at line 384 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::RangeVector< B, S, N >::FindEntryIndexThatContains(), lldb_private::RangeVector< B, S, N >::FindEntryThatContains(), lldb_private::RangeVector< B, S, N >::GetOverlaps(), and lldb_private::RangeVector< B, S, N >::Insert().
|
inline |
Definition at line 289 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::MemoryCache::Clear(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashDone(), lldb_private::LineTable::GetContiguousFileAddressRanges(), and lldb_private::DWARFCallFrameInfo::GetFunctionAddressAndSizeVector().
|
inline |
Definition at line 236 of file RangeMap.h.
References lldb_private::Range< B, S >::DoesAdjoinOrIntersect(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::RangeVector< B, S, N >::m_entries, and lldb_private::Range< B, S >::SetRangeEnd().
Referenced by lldb_private::Block::FinalizeRanges().
|
inlineprotected |
Definition at line 388 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::end(), and lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::RangeVector< B, S, N >::Insert().
|
inline |
Definition at line 385 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::RangeVector< B, S, N >::CombinePrevAndNext(), lldb_private::RangeVector< B, S, N >::FindEntryIndexThatContains(), lldb_private::RangeVector< B, S, N >::FindEntryThatContains(), lldb_private::RangeVector< B, S, N >::GetOverlaps(), lldb_private::RangeVector< B, S, N >::Insert(), and lldb_private::RangeVector< B, S, N >::Slide().
|
inline |
Definition at line 316 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::BaseLessThan(), lldb_private::RangeVector< B, S, N >::begin(), lldb_private::RangeVector< B, S, N >::end(), lldb_private::RangeVector< B, S, N >::m_entries, and UINT32_MAX.
Referenced by lldb_private::AllocatedBlock::FreeBlock(), lldb_private::Block::GetRangeIndexContainingAddress(), and lldb_private::MemoryCache::RemoveInvalidRange().
|
inline |
Definition at line 338 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::BaseLessThan(), lldb_private::RangeVector< B, S, N >::begin(), lldb_private::RangeVector< B, S, N >::end(), and lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::Block::Contains(), lldb_private::Block::GetRangeContainingAddress(), lldb_private::Block::GetRangeContainingOffset(), lldb_private::Symtab::InitAddressIndexes(), lldb_private::Variable::IsInScope(), lldb_private::Variable::LocationIsValidForAddress(), lldb_private::plugin::dwarf::DWARFDIE::LookupDeepestBlock(), ObjectFileMachO::ProcessSegmentCommand(), and lldb_private::MemoryCache::Read().
|
inline |
Definition at line 361 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::BaseLessThan(), lldb_private::RangeVector< B, S, N >::begin(), lldb_private::RangeVector< B, S, N >::end(), and lldb_private::RangeVector< B, S, N >::m_entries.
|
inline |
Definition at line 297 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by GetCorrespondingFrameData(), ObjectFileMachO::GetThreadContextAtIndex(), lldb_private::process_gdb_remote::ProcessGDBRemote::HasErased(), ObjectFileMachO::ParseSymtab(), and lldb_private::MemoryCache::RemoveInvalidRange().
|
inline |
Definition at line 303 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), lldb_private::Block::Dump(), lldb_private::Block::DumpAddressRanges(), lldb_private::AllocatedBlock::FreeBlock(), GetCorrespondingFrameData(), lldb_private::Block::GetDescription(), lldb_private::Block::GetRangeAtIndex(), lldb_private::Block::GetRanges(), lldb_private::Block::GetStartAddress(), lldb_private::RangeVector< B, S, N >::operator==(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseBlocksRecursive(), and lldb_private::AllocatedBlock::ReserveBlock().
|
inline |
Definition at line 304 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
|
inline |
Definition at line 272 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::plugin::dwarf::SymbolFileDWARF::ParseFunction().
|
inline |
Definition at line 261 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::plugin::dwarf::DWARFDebugInfoEntry::GetDIENamesAndRanges(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseBlocksRecursive(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseFunction(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesForContext().
|
inlinestatic |
|
inline |
Definition at line 295 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::Block::AddRange(), lldb_private::Block::Dump(), lldb_private::Block::DumpAddressRanges(), lldb_private::LineTable::GetContiguousFileAddressRanges(), GetCorrespondingFrameData(), lldb_private::Block::GetDescription(), lldb_private::Block::GetNumRanges(), ObjectFileMachO::GetNumThreadContexts(), lldb_private::Block::GetRangeAtIndex(), lldb_private::Block::GetRanges(), lldb_private::process_gdb_remote::ProcessGDBRemote::HasErased(), lldb_private::Block::MemorySize(), lldb_private::RangeVector< B, S, N >::operator==(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseBlocksRecursive(), ObjectFileMachO::ParseSymtab(), and lldb_private::AllocatedBlock::ReserveBlock().
|
inline |
Definition at line 185 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::begin(), lldb_private::RangeVector< B, S, N >::CombinePrevAndNext(), lldb_private::RangeVector< B, S, N >::end(), and lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), lldb_private::AllocatedBlock::FreeBlock(), and lldb_private::AllocatedBlock::ReserveBlock().
|
inline |
Definition at line 293 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), lldb_private::Block::Dump(), lldb_private::Block::DumpAddressRanges(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashDone(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), GetCorrespondingFrameData(), lldb_private::plugin::dwarf::DWARFDebugInfoEntry::GetDIENamesAndRanges(), lldb_private::Block::GetStartAddress(), lldb_private::Variable::IsInScope(), lldb_private::Variable::LocationIsValidForAddress(), lldb_private::plugin::dwarf::SymbolFileDWARF::ParseFunction(), and lldb_private::plugin::dwarf::SymbolFileDWARF::ParseVariablesForContext().
|
inline |
Definition at line 169 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::GetEntryRef(), and lldb_private::RangeVector< B, S, N >::GetSize().
|
inline |
Definition at line 209 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::AllocatedBlock::FreeBlock(), lldb_private::MemoryCache::RemoveInvalidRange(), and lldb_private::AllocatedBlock::ReserveBlock().
|
inline |
Definition at line 291 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::plugin::dwarf::DWARFDebugRanges::Extract(), and lldb_private::DWARFCallFrameInfo::GetFunctionAddressAndSizeVector().
|
inline |
Definition at line 283 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::end(), and lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::plugin::dwarf::DWARFDebugRanges::FindRanges().
|
inline |
Definition at line 217 of file RangeMap.h.
References lldb_private::RangeVector< B, S, N >::m_entries.
Referenced by lldb_private::MemoryCache::AddInvalidRange(), lldb_private::plugin::dwarf::DWARFDebugRanges::Extract(), lldb_private::Block::FinalizeRanges(), lldb_private::plugin::dwarf::DWARFUnit::FindRnglistFromOffset(), and lldb_private::Symtab::InitAddressIndexes().
|
protected |
Definition at line 408 of file RangeMap.h.
Referenced by lldb_private::RangeVector< B, S, N >::Append(), lldb_private::RangeVector< B, S, N >::Back(), lldb_private::RangeVector< B, S, N >::begin(), lldb_private::RangeVector< B, S, N >::Clear(), lldb_private::RangeVector< B, S, N >::CombineConsecutiveRanges(), lldb_private::RangeVector< B, S, N >::CombinePrevAndNext(), lldb_private::RangeVector< B, S, N >::end(), lldb_private::RangeVector< B, S, N >::FindEntryIndexThatContains(), lldb_private::RangeVector< B, S, N >::FindEntryThatContains(), lldb_private::RangeVector< B, S, N >::GetEntryAtIndex(), lldb_private::RangeVector< B, S, N >::GetEntryRef(), lldb_private::RangeVector< B, S, N >::GetMaxRangeEnd(), lldb_private::RangeVector< B, S, N >::GetMinRangeBase(), lldb_private::RangeVector< B, S, N >::GetSize(), lldb_private::RangeVector< B, S, N >::Insert(), lldb_private::RangeVector< B, S, N >::IsEmpty(), lldb_private::RangeVector< B, S, N >::RemoveEntryAtIndex(), lldb_private::RangeVector< B, S, N >::Reserve(), lldb_private::RangeVector< B, S, N >::Slide(), and lldb_private::RangeVector< B, S, N >::Sort().