LLDB mainline
Classes | Public Member Functions | Protected Types | Protected Attributes | List of all members
lldb_private::UnwindPlan::Row Class Reference

#include <UnwindPlan.h>


class  FAValue
class  RegisterLocation

Public Member Functions

 Row ()
bool operator== (const Row &rhs) const
bool GetRegisterInfo (uint32_t reg_num, RegisterLocation &register_location) const
void SetRegisterInfo (uint32_t reg_num, const RegisterLocation register_location)
void RemoveRegisterInfo (uint32_t reg_num)
lldb::addr_t GetOffset () const
void SetOffset (lldb::addr_t offset)
void SlideOffset (lldb::addr_t offset)
FAValueGetCFAValue ()
FAValueGetAFAValue ()
bool SetRegisterLocationToAtCFAPlusOffset (uint32_t reg_num, int32_t offset, bool can_replace)
bool SetRegisterLocationToIsCFAPlusOffset (uint32_t reg_num, int32_t offset, bool can_replace)
bool SetRegisterLocationToUndefined (uint32_t reg_num, bool can_replace, bool can_replace_only_if_unspecified)
bool SetRegisterLocationToUnspecified (uint32_t reg_num, bool can_replace)
bool SetRegisterLocationToRegister (uint32_t reg_num, uint32_t other_reg_num, bool can_replace)
bool SetRegisterLocationToSame (uint32_t reg_num, bool must_replace)
void SetUnspecifiedRegistersAreUndefined (bool unspec_is_undef)
bool GetUnspecifiedRegistersAreUndefined ()
void Clear ()
void Dump (Stream &s, const UnwindPlan *unwind_plan, Thread *thread, lldb::addr_t base_addr) const

Protected Types

typedef std::map< uint32_t, RegisterLocationcollection

Protected Attributes

lldb::addr_t m_offset = 0
FAValue m_cfa_value
FAValue m_afa_value
collection m_register_locations
bool m_unspecified_registers_are_undefined = false

Detailed Description

Definition at line 55 of file UnwindPlan.h.

Member Typedef Documentation

◆ collection

typedef std::map<uint32_t, RegisterLocation> lldb_private::UnwindPlan::Row::collection

Definition at line 386 of file UnwindPlan.h.

Constructor & Destructor Documentation

◆ Row()

UnwindPlan::Row::Row ( )

Definition at line 249 of file UnwindPlan.cpp.

Member Function Documentation

◆ Clear()

void UnwindPlan::Row::Clear ( )

◆ Dump()

void UnwindPlan::Row::Dump ( Stream s,
const UnwindPlan unwind_plan,
Thread thread,
lldb::addr_t  base_addr 
) const

◆ GetAFAValue()

FAValue & lldb_private::UnwindPlan::Row::GetAFAValue ( )

Definition at line 343 of file UnwindPlan.h.

References m_afa_value.

◆ GetCFAValue()

FAValue & lldb_private::UnwindPlan::Row::GetCFAValue ( )

◆ GetOffset()

lldb::addr_t lldb_private::UnwindPlan::Row::GetOffset ( ) const

Definition at line 335 of file UnwindPlan.h.

References m_offset.

Referenced by Dump().

◆ GetRegisterInfo()

bool UnwindPlan::Row::GetRegisterInfo ( uint32_t  reg_num,
RegisterLocation register_location 
) const

◆ GetUnspecifiedRegistersAreUndefined()

bool lldb_private::UnwindPlan::Row::GetUnspecifiedRegistersAreUndefined ( )

Definition at line 376 of file UnwindPlan.h.

References m_unspecified_registers_are_undefined.

◆ operator==()

bool UnwindPlan::Row::operator== ( const Row rhs) const

◆ RemoveRegisterInfo()

void UnwindPlan::Row::RemoveRegisterInfo ( uint32_t  reg_num)

Definition at line 266 of file UnwindPlan.cpp.

◆ SetOffset()

void lldb_private::UnwindPlan::Row::SetOffset ( lldb::addr_t  offset)

◆ SetRegisterInfo()

void UnwindPlan::Row::SetRegisterInfo ( uint32_t  reg_num,
const RegisterLocation  register_location 

◆ SetRegisterLocationToAtCFAPlusOffset()

bool UnwindPlan::Row::SetRegisterLocationToAtCFAPlusOffset ( uint32_t  reg_num,
int32_t  offset,
bool  can_replace 

◆ SetRegisterLocationToIsCFAPlusOffset()

bool UnwindPlan::Row::SetRegisterLocationToIsCFAPlusOffset ( uint32_t  reg_num,
int32_t  offset,
bool  can_replace 

◆ SetRegisterLocationToRegister()

bool UnwindPlan::Row::SetRegisterLocationToRegister ( uint32_t  reg_num,
uint32_t  other_reg_num,
bool  can_replace 

◆ SetRegisterLocationToSame()

bool UnwindPlan::Row::SetRegisterLocationToSame ( uint32_t  reg_num,
bool  must_replace 

◆ SetRegisterLocationToUndefined()

bool UnwindPlan::Row::SetRegisterLocationToUndefined ( uint32_t  reg_num,
bool  can_replace,
bool  can_replace_only_if_unspecified 

◆ SetRegisterLocationToUnspecified()

bool UnwindPlan::Row::SetRegisterLocationToUnspecified ( uint32_t  reg_num,
bool  can_replace 

◆ SetUnspecifiedRegistersAreUndefined()

void lldb_private::UnwindPlan::Row::SetUnspecifiedRegistersAreUndefined ( bool  unspec_is_undef)

Definition at line 372 of file UnwindPlan.h.

References m_unspecified_registers_are_undefined.

◆ SlideOffset()

void lldb_private::UnwindPlan::Row::SlideOffset ( lldb::addr_t  offset)

Definition at line 339 of file UnwindPlan.h.

References m_offset.

Referenced by lldb_private::DWARFCallFrameInfo::FDEToUnwindPlan().

Member Data Documentation

◆ m_afa_value

FAValue lldb_private::UnwindPlan::Row::m_afa_value

Definition at line 390 of file UnwindPlan.h.

Referenced by Clear(), Dump(), GetAFAValue(), and operator==().

◆ m_cfa_value

FAValue lldb_private::UnwindPlan::Row::m_cfa_value

Definition at line 389 of file UnwindPlan.h.

Referenced by Clear(), Dump(), GetCFAValue(), and operator==().

◆ m_offset

lldb::addr_t lldb_private::UnwindPlan::Row::m_offset = 0

Definition at line 387 of file UnwindPlan.h.

Referenced by Clear(), GetOffset(), operator==(), SetOffset(), and SlideOffset().

◆ m_register_locations

collection lldb_private::UnwindPlan::Row::m_register_locations

Definition at line 391 of file UnwindPlan.h.

Referenced by Clear(), Dump(), and operator==().

◆ m_unspecified_registers_are_undefined

bool lldb_private::UnwindPlan::Row::m_unspecified_registers_are_undefined = false

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