LLDB  mainline
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
lldb_private::UnwindTable Class Reference

#include <UnwindTable.h>

Collaboration diagram for lldb_private::UnwindTable:
Collaboration graph

Public Member Functions

 UnwindTable (Module &module)
 Create an Unwind table using the data in the given module. More...
 ~UnwindTable ()
lldb_private::CallFrameInfoGetObjectFileUnwindInfo ()
lldb_private::DWARFCallFrameInfoGetEHFrameInfo ()
lldb_private::DWARFCallFrameInfoGetDebugFrameInfo ()
lldb_private::CompactUnwindInfoGetCompactUnwindInfo ()
ArmUnwindInfoGetArmUnwindInfo ()
SymbolFileGetSymbolFile ()
lldb::FuncUnwindersSP GetFuncUnwindersContainingAddress (const Address &addr, SymbolContext &sc)
bool GetAllowAssemblyEmulationUnwindPlans ()
lldb::FuncUnwindersSP GetUncachedFuncUnwindersContainingAddress (const Address &addr, SymbolContext &sc)
ArchSpec GetArchitecture ()

Private Types

typedef std::map< lldb::addr_t, lldb::FuncUnwindersSP > collection
typedef collection::iterator iterator
typedef collection::const_iterator const_iterator

Private Member Functions

void Dump (Stream &s)
void Initialize ()
llvm::Optional< AddressRangeGetAddressRange (const Address &addr, SymbolContext &sc)
 UnwindTable (const UnwindTable &)=delete
const UnwindTableoperator= (const UnwindTable &)=delete

Private Attributes

collection m_unwinds
bool m_initialized
std::mutex m_mutex
std::unique_ptr< CallFrameInfom_object_file_unwind_up
std::unique_ptr< DWARFCallFrameInfom_eh_frame_up
std::unique_ptr< DWARFCallFrameInfom_debug_frame_up
std::unique_ptr< CompactUnwindInfom_compact_unwind_up
std::unique_ptr< ArmUnwindInfom_arm_unwind_up

Detailed Description

Definition at line 23 of file UnwindTable.h.

Member Typedef Documentation

◆ collection

typedef std::map<lldb::addr_t, lldb::FuncUnwindersSP> lldb_private::UnwindTable::collection

Definition at line 66 of file UnwindTable.h.

◆ const_iterator

typedef collection::const_iterator lldb_private::UnwindTable::const_iterator

Definition at line 68 of file UnwindTable.h.

◆ iterator

typedef collection::iterator lldb_private::UnwindTable::iterator

Definition at line 67 of file UnwindTable.h.

Constructor & Destructor Documentation

◆ UnwindTable() [1/2]

UnwindTable::UnwindTable ( Module module)

Create an Unwind table using the data in the given module.

Definition at line 31 of file UnwindTable.cpp.

◆ ~UnwindTable()

UnwindTable::~UnwindTable ( )

◆ UnwindTable() [2/2]

lldb_private::UnwindTable::UnwindTable ( const UnwindTable )

Member Function Documentation

◆ Dump()

void UnwindTable::Dump ( Stream s)

◆ GetAddressRange()

llvm::Optional< AddressRange > UnwindTable::GetAddressRange ( const Address addr,
SymbolContext sc 

◆ GetAllowAssemblyEmulationUnwindPlans()

bool UnwindTable::GetAllowAssemblyEmulationUnwindPlans ( )

◆ GetArchitecture()

ArchSpec UnwindTable::GetArchitecture ( )

◆ GetArmUnwindInfo()

ArmUnwindInfo * UnwindTable::GetArmUnwindInfo ( )

Definition at line 196 of file UnwindTable.cpp.

References Initialize(), and m_arm_unwind_up.

Referenced by lldb_private::FuncUnwinders::GetArmUnwindUnwindPlan().

◆ GetCompactUnwindInfo()

CompactUnwindInfo * UnwindTable::GetCompactUnwindInfo ( )

◆ GetDebugFrameInfo()

DWARFCallFrameInfo * UnwindTable::GetDebugFrameInfo ( )

◆ GetEHFrameInfo()

DWARFCallFrameInfo * UnwindTable::GetEHFrameInfo ( )

Definition at line 181 of file UnwindTable.cpp.

References Initialize(), and m_eh_frame_up.

Referenced by lldb_private::FuncUnwinders::GetEHFrameUnwindPlan().

◆ GetFuncUnwindersContainingAddress()

FuncUnwindersSP UnwindTable::GetFuncUnwindersContainingAddress ( const Address addr,
SymbolContext sc 

◆ GetObjectFileUnwindInfo()

lldb_private::CallFrameInfo * UnwindTable::GetObjectFileUnwindInfo ( )

◆ GetSymbolFile()

SymbolFile * UnwindTable::GetSymbolFile ( )

◆ GetUncachedFuncUnwindersContainingAddress()

FuncUnwindersSP UnwindTable::GetUncachedFuncUnwindersContainingAddress ( const Address addr,
SymbolContext sc 

Definition at line 153 of file UnwindTable.cpp.

References GetAddressRange(), and Initialize().

◆ Initialize()

void UnwindTable::Initialize ( )

◆ operator=()

const UnwindTable& lldb_private::UnwindTable::operator= ( const UnwindTable )

Member Data Documentation

◆ m_arm_unwind_up

std::unique_ptr<ArmUnwindInfo> lldb_private::UnwindTable::m_arm_unwind_up

Definition at line 80 of file UnwindTable.h.

Referenced by GetArmUnwindInfo(), and Initialize().

◆ m_compact_unwind_up

std::unique_ptr<CompactUnwindInfo> lldb_private::UnwindTable::m_compact_unwind_up

Definition at line 79 of file UnwindTable.h.

Referenced by GetCompactUnwindInfo(), and Initialize().

◆ m_debug_frame_up

std::unique_ptr<DWARFCallFrameInfo> lldb_private::UnwindTable::m_debug_frame_up

Definition at line 78 of file UnwindTable.h.

Referenced by GetAddressRange(), GetDebugFrameInfo(), and Initialize().

◆ m_eh_frame_up

std::unique_ptr<DWARFCallFrameInfo> lldb_private::UnwindTable::m_eh_frame_up

Definition at line 77 of file UnwindTable.h.

Referenced by GetAddressRange(), GetEHFrameInfo(), and Initialize().

◆ m_initialized

bool lldb_private::UnwindTable::m_initialized

Definition at line 73 of file UnwindTable.h.

Referenced by Initialize().

◆ m_module

Module& lldb_private::UnwindTable::m_module

◆ m_mutex

std::mutex lldb_private::UnwindTable::m_mutex

Definition at line 74 of file UnwindTable.h.

Referenced by Dump(), GetFuncUnwindersContainingAddress(), and Initialize().

◆ m_object_file_unwind_up

std::unique_ptr<CallFrameInfo> lldb_private::UnwindTable::m_object_file_unwind_up

Definition at line 76 of file UnwindTable.h.

Referenced by GetAddressRange(), GetObjectFileUnwindInfo(), and Initialize().

◆ m_unwinds

collection lldb_private::UnwindTable::m_unwinds

Definition at line 71 of file UnwindTable.h.

Referenced by Dump(), and GetFuncUnwindersContainingAddress().

The documentation for this class was generated from the following files: