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

#include <UnwindPlan.h>

Classes

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)
 
bool SetRegisterLocationToIsConstant (uint32_t reg_num, uint64_t constant, bool can_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
protected

Definition at line 401 of file UnwindPlan.h.

Constructor & Destructor Documentation

◆ Row()

UnwindPlan::Row::Row ( )

Definition at line 254 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 ( )
inline

Definition at line 355 of file UnwindPlan.h.

References m_afa_value.

◆ GetCFAValue()

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

◆ GetOffset()

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

Definition at line 347 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 ( )
inline

Definition at line 391 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 271 of file UnwindPlan.cpp.

◆ SetOffset()

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

◆ 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 
)

◆ SetRegisterLocationToIsConstant()

bool UnwindPlan::Row::SetRegisterLocationToIsConstant ( uint32_t  reg_num,
uint64_t  constant,
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)
inline

Definition at line 387 of file UnwindPlan.h.

References m_unspecified_registers_are_undefined.

◆ SlideOffset()

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

Definition at line 351 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
protected

Definition at line 405 of file UnwindPlan.h.

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

◆ m_cfa_value

FAValue lldb_private::UnwindPlan::Row::m_cfa_value
protected

Definition at line 404 of file UnwindPlan.h.

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

◆ m_offset

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

Definition at line 402 of file UnwindPlan.h.

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

◆ m_register_locations

collection lldb_private::UnwindPlan::Row::m_register_locations
protected

Definition at line 406 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
protected

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