LLDB mainline
lldb_private::UnwindPlan Class Reference

#include <UnwindPlan.h>

Classes

class  Row

Public Member Functions

 UnwindPlan (lldb::RegisterKind reg_kind)
 UnwindPlan (const UnwindPlan &rhs)=default
UnwindPlanoperator= (const UnwindPlan &rhs)=default
 UnwindPlan (UnwindPlan &&rhs)=default
UnwindPlanoperator= (UnwindPlan &&)=default
 ~UnwindPlan ()=default
void Dump (Stream &s, Thread *thread, lldb::addr_t base_addr) const
void AppendRow (Row row)
void InsertRow (Row row, bool replace_existing=false)
const UnwindPlan::RowGetRowForFunctionOffset (std::optional< int64_t > offset) const
lldb::RegisterKind GetRegisterKind () const
void SetRegisterKind (lldb::RegisterKind kind)
void SetReturnAddressRegister (uint32_t regnum)
uint32_t GetReturnAddressRegister () const
uint32_t GetInitialCFARegister () const
void SetPlanValidAddressRanges (std::vector< AddressRange > ranges)
bool PlanValidAtAddress (Address addr) const
bool IsValidRowIndex (uint32_t idx) const
const UnwindPlan::RowGetRowAtIndex (uint32_t idx) const
const UnwindPlan::RowGetLastRow () const
lldb_private::ConstString GetSourceName () const
void SetSourceName (const char *)
lldb_private::LazyBool GetSourcedFromCompiler () const
void SetSourcedFromCompiler (lldb_private::LazyBool from_compiler)
lldb_private::LazyBool GetUnwindPlanValidAtAllInstructions () const
void SetUnwindPlanValidAtAllInstructions (lldb_private::LazyBool valid_at_all_insn)
lldb_private::LazyBool GetUnwindPlanForSignalTrap () const
void SetUnwindPlanForSignalTrap (lldb_private::LazyBool is_for_signal_trap)
int GetRowCount () const
void Clear ()
const RegisterInfoGetRegisterInfo (Thread *thread, uint32_t reg_num) const

Private Attributes

std::vector< Rowm_row_list
std::vector< AddressRangem_plan_valid_ranges
lldb::RegisterKind m_register_kind
uint32_t m_return_addr_register
lldb_private::ConstString m_source_name
lldb_private::LazyBool m_plan_is_sourced_from_compiler
lldb_private::LazyBool m_plan_is_valid_at_all_instruction_locations
lldb_private::LazyBool m_plan_is_for_signal_trap

Detailed Description

Definition at line 53 of file UnwindPlan.h.

Constructor & Destructor Documentation

◆ UnwindPlan() [1/3]

◆ UnwindPlan() [2/3]

lldb_private::UnwindPlan::UnwindPlan ( const UnwindPlan & rhs)
default

References UnwindPlan().

◆ UnwindPlan() [3/3]

lldb_private::UnwindPlan::UnwindPlan ( UnwindPlan && rhs)
default

References UnwindPlan().

◆ ~UnwindPlan()

lldb_private::UnwindPlan::~UnwindPlan ( )
default

Member Function Documentation

◆ AppendRow()

◆ Clear()

◆ Dump()

◆ GetInitialCFARegister()

uint32_t lldb_private::UnwindPlan::GetInitialCFARegister ( ) const
inline

◆ GetLastRow()

◆ GetRegisterInfo()

◆ GetRegisterKind()

◆ GetReturnAddressRegister()

uint32_t lldb_private::UnwindPlan::GetReturnAddressRegister ( ) const
inline

Definition at line 468 of file UnwindPlan.h.

References m_return_addr_register.

◆ GetRowAtIndex()

const UnwindPlan::Row * UnwindPlan::GetRowAtIndex ( uint32_t idx) const

◆ GetRowCount()

int lldb_private::UnwindPlan::GetRowCount ( ) const
inline

◆ GetRowForFunctionOffset()

const UnwindPlan::Row * UnwindPlan::GetRowForFunctionOffset ( std::optional< int64_t > offset) const

Definition at line 423 of file UnwindPlan.cpp.

References m_row_list.

Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite().

◆ GetSourcedFromCompiler()

lldb_private::LazyBool lldb_private::UnwindPlan::GetSourcedFromCompiler ( ) const
inline

Definition at line 496 of file UnwindPlan.h.

References m_plan_is_sourced_from_compiler.

◆ GetSourceName()

ConstString UnwindPlan::GetSourceName ( ) const

◆ GetUnwindPlanForSignalTrap()

lldb_private::LazyBool lldb_private::UnwindPlan::GetUnwindPlanForSignalTrap ( ) const
inline

Definition at line 521 of file UnwindPlan.h.

References m_plan_is_for_signal_trap.

◆ GetUnwindPlanValidAtAllInstructions()

lldb_private::LazyBool lldb_private::UnwindPlan::GetUnwindPlanValidAtAllInstructions ( ) const
inline

Definition at line 507 of file UnwindPlan.h.

References m_plan_is_valid_at_all_instruction_locations.

◆ InsertRow()

◆ IsValidRowIndex()

bool UnwindPlan::IsValidRowIndex ( uint32_t idx) const

Definition at line 433 of file UnwindPlan.cpp.

References m_row_list.

◆ operator=() [1/2]

UnwindPlan & lldb_private::UnwindPlan::operator= ( const UnwindPlan & rhs)
default

References UnwindPlan().

◆ operator=() [2/2]

UnwindPlan & lldb_private::UnwindPlan::operator= ( UnwindPlan && )
default

References UnwindPlan().

◆ PlanValidAtAddress()

◆ SetPlanValidAddressRanges()

◆ SetRegisterKind()

◆ SetReturnAddressRegister()

◆ SetSourcedFromCompiler()

◆ SetSourceName()

◆ SetUnwindPlanForSignalTrap()

◆ SetUnwindPlanValidAtAllInstructions()

Member Data Documentation

◆ m_plan_is_for_signal_trap

lldb_private::LazyBool lldb_private::UnwindPlan::m_plan_is_for_signal_trap
private

◆ m_plan_is_sourced_from_compiler

lldb_private::LazyBool lldb_private::UnwindPlan::m_plan_is_sourced_from_compiler
private

Definition at line 554 of file UnwindPlan.h.

Referenced by Clear(), Dump(), GetSourcedFromCompiler(), SetSourcedFromCompiler(), and UnwindPlan().

◆ m_plan_is_valid_at_all_instruction_locations

lldb_private::LazyBool lldb_private::UnwindPlan::m_plan_is_valid_at_all_instruction_locations
private

◆ m_plan_valid_ranges

std::vector<AddressRange> lldb_private::UnwindPlan::m_plan_valid_ranges
private

Definition at line 545 of file UnwindPlan.h.

Referenced by Clear(), Dump(), PlanValidAtAddress(), and SetPlanValidAddressRanges().

◆ m_register_kind

lldb::RegisterKind lldb_private::UnwindPlan::m_register_kind
private

Definition at line 546 of file UnwindPlan.h.

Referenced by Clear(), GetRegisterInfo(), GetRegisterKind(), SetRegisterKind(), and UnwindPlan().

◆ m_return_addr_register

uint32_t lldb_private::UnwindPlan::m_return_addr_register
private

Definition at line 549 of file UnwindPlan.h.

Referenced by GetReturnAddressRegister(), SetReturnAddressRegister(), and UnwindPlan().

◆ m_row_list

std::vector<Row> lldb_private::UnwindPlan::m_row_list
private

◆ m_source_name

lldb_private::ConstString lldb_private::UnwindPlan::m_source_name
private

Definition at line 553 of file UnwindPlan.h.

Referenced by Clear(), Dump(), GetSourceName(), PlanValidAtAddress(), and SetSourceName().


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