LLDB mainline
|
#include <UnwindPlan.h>
Public Types | |
enum | ValueType { unspecified , isRegisterPlusOffset , isRegisterDereferenced , isDWARFExpression , isRaSearch } |
Public Member Functions | |
FAValue () | |
bool | operator== (const FAValue &rhs) const |
bool | operator!= (const FAValue &rhs) const |
void | SetUnspecified () |
bool | IsUnspecified () const |
void | SetRaSearch (int32_t offset) |
bool | IsRegisterPlusOffset () const |
void | SetIsRegisterPlusOffset (uint32_t reg_num, int32_t offset) |
bool | IsRegisterDereferenced () const |
void | SetIsRegisterDereferenced (uint32_t reg_num) |
bool | IsDWARFExpression () const |
void | SetIsDWARFExpression (const uint8_t *opcodes, uint32_t len) |
uint32_t | GetRegisterNumber () const |
ValueType | GetValueType () const |
int32_t | GetOffset () const |
void | IncOffset (int32_t delta) |
void | SetOffset (int32_t offset) |
void | GetDWARFExpr (const uint8_t **opcodes, uint16_t &len) const |
const uint8_t * | GetDWARFExpressionBytes () |
int | GetDWARFExpressionLength () |
void | Dump (Stream &s, const UnwindPlan *unwind_plan, Thread *thread) const |
Private Attributes | |
ValueType | m_type = unspecified |
union { | |
struct { | |
uint32_t reg_num | |
int32_t offset | |
} reg | |
struct { | |
const uint8_t * opcodes | |
uint16_t length | |
} expr | |
int32_t ra_search_offset | |
} | m_value |
Definition at line 210 of file UnwindPlan.h.
Enumerator | |
---|---|
unspecified | |
isRegisterPlusOffset | |
isRegisterDereferenced | |
isDWARFExpression | |
isRaSearch |
Definition at line 212 of file UnwindPlan.h.
|
inline |
Definition at line 220 of file UnwindPlan.h.
void UnwindPlan::Row::FAValue::Dump | ( | Stream & | s, |
const UnwindPlan * | unwind_plan, | ||
Thread * | thread | ||
) | const |
Definition at line 197 of file UnwindPlan.cpp.
References DumpDWARFExpr(), DumpRegisterName(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), and lldb_private::Stream::PutCString().
Referenced by lldb_private::UnwindPlan::Row::Dump().
|
inline |
Definition at line 291 of file UnwindPlan.h.
References isDWARFExpression, m_type, m_value, and opcodes.
|
inline |
Definition at line 301 of file UnwindPlan.h.
References isDWARFExpression, m_type, and m_value.
Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 307 of file UnwindPlan.h.
References isDWARFExpression, m_type, and m_value.
Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 270 of file UnwindPlan.h.
References isRaSearch, isRegisterPlusOffset, m_type, and m_value.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 262 of file UnwindPlan.h.
References isRegisterDereferenced, isRegisterPlusOffset, LLDB_INVALID_REGNUM, m_type, and m_value.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 268 of file UnwindPlan.h.
References m_type.
Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 281 of file UnwindPlan.h.
References isRegisterPlusOffset, m_type, and m_value.
|
inline |
Definition at line 254 of file UnwindPlan.h.
References isDWARFExpression, and m_type.
|
inline |
Definition at line 245 of file UnwindPlan.h.
References isRegisterDereferenced, and m_type.
|
inline |
Definition at line 235 of file UnwindPlan.h.
References isRegisterPlusOffset, and m_type.
|
inline |
Definition at line 228 of file UnwindPlan.h.
References m_type, and unspecified.
Referenced by lldb_private::UnwindPlan::Row::Dump().
|
inline |
Definition at line 224 of file UnwindPlan.h.
bool UnwindPlan::Row::FAValue::operator== | ( | const FAValue & | rhs | ) | const |
|
inline |
Definition at line 256 of file UnwindPlan.h.
References isDWARFExpression, m_type, m_value, and opcodes.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::breakpad::SymbolFileBreakpad::ParseCFIUnwindRow().
|
inline |
Definition at line 249 of file UnwindPlan.h.
References isRegisterDereferenced, m_type, m_value, and reg_num.
|
inline |
Definition at line 239 of file UnwindPlan.h.
References isRegisterPlusOffset, m_type, m_value, offset, and reg_num.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode().
|
inline |
Definition at line 286 of file UnwindPlan.h.
References isRegisterPlusOffset, m_type, m_value, and offset.
|
inline |
Definition at line 230 of file UnwindPlan.h.
References isRaSearch, m_type, m_value, and offset.
|
inline |
Definition at line 226 of file UnwindPlan.h.
References m_type, and unspecified.
Referenced by lldb_private::UnwindPlan::Row::Clear().
struct { ... } lldb_private::UnwindPlan::Row::FAValue::expr |
Referenced by operator==().
uint16_t lldb_private::UnwindPlan::Row::FAValue::length |
Definition at line 328 of file UnwindPlan.h.
Referenced by operator==().
|
private |
Definition at line 316 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), GetDWARFExpressionBytes(), GetDWARFExpressionLength(), GetOffset(), GetRegisterNumber(), GetValueType(), IncOffset(), IsDWARFExpression(), IsRegisterDereferenced(), IsRegisterPlusOffset(), IsUnspecified(), operator==(), SetIsDWARFExpression(), SetIsRegisterDereferenced(), SetIsRegisterPlusOffset(), SetOffset(), SetRaSearch(), and SetUnspecified().
union { ... } lldb_private::UnwindPlan::Row::FAValue::m_value |
int32_t lldb_private::UnwindPlan::Row::FAValue::offset |
Definition at line 323 of file UnwindPlan.h.
Referenced by operator==(), SetIsRegisterPlusOffset(), SetOffset(), and SetRaSearch().
const uint8_t* lldb_private::UnwindPlan::Row::FAValue::opcodes |
Definition at line 327 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), operator==(), and SetIsDWARFExpression().
int32_t lldb_private::UnwindPlan::Row::FAValue::ra_search_offset |
Definition at line 331 of file UnwindPlan.h.
Referenced by operator==().
struct { ... } lldb_private::UnwindPlan::Row::FAValue::reg |
Referenced by operator==().
uint32_t lldb_private::UnwindPlan::Row::FAValue::reg_num |
Definition at line 321 of file UnwindPlan.h.
Referenced by operator==(), SetIsRegisterDereferenced(), and SetIsRegisterPlusOffset().