LLDB mainline
|
#include <UnwindPlan.h>
Public Types | |
enum | ValueType { unspecified , isRegisterPlusOffset , isRegisterDereferenced , isDWARFExpression , isRaSearch , isConstant } |
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) |
bool | IsConstant () const |
void | SetIsConstant (uint64_t constant) |
uint64_t | GetConstant () const |
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 | |
uint64_t constant | |
} | m_value |
Definition at line 210 of file UnwindPlan.h.
Enumerator | |
---|---|
unspecified | |
isRegisterPlusOffset | |
isRegisterDereferenced | |
isDWARFExpression | |
isRaSearch | |
isConstant |
Definition at line 212 of file UnwindPlan.h.
|
inline |
Definition at line 221 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 270 of file UnwindPlan.h.
References m_value.
Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 301 of file UnwindPlan.h.
References isDWARFExpression, m_type, m_value, and opcodes.
|
inline |
Definition at line 311 of file UnwindPlan.h.
References isDWARFExpression, m_type, and m_value.
Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 317 of file UnwindPlan.h.
References isDWARFExpression, m_type, and m_value.
Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 280 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 272 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 278 of file UnwindPlan.h.
References m_type.
Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().
|
inline |
Definition at line 291 of file UnwindPlan.h.
References isRegisterPlusOffset, m_type, and m_value.
|
inline |
Definition at line 263 of file UnwindPlan.h.
References isConstant, and m_type.
|
inline |
Definition at line 255 of file UnwindPlan.h.
References isDWARFExpression, and m_type.
|
inline |
Definition at line 246 of file UnwindPlan.h.
References isRegisterDereferenced, and m_type.
|
inline |
Definition at line 236 of file UnwindPlan.h.
References isRegisterPlusOffset, and m_type.
|
inline |
Definition at line 229 of file UnwindPlan.h.
References m_type, and unspecified.
Referenced by lldb_private::UnwindPlan::Row::Dump().
|
inline |
Definition at line 225 of file UnwindPlan.h.
bool UnwindPlan::Row::FAValue::operator== | ( | const FAValue & | rhs | ) | const |
|
inline |
Definition at line 265 of file UnwindPlan.h.
References constant, isConstant, m_type, and m_value.
|
inline |
Definition at line 257 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 250 of file UnwindPlan.h.
References isRegisterDereferenced, m_type, m_value, and reg_num.
|
inline |
Definition at line 240 of file UnwindPlan.h.
References isRegisterPlusOffset, m_type, m_value, offset, and reg_num.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode().
|
inline |
Definition at line 296 of file UnwindPlan.h.
References isRegisterPlusOffset, m_type, m_value, and offset.
|
inline |
Definition at line 231 of file UnwindPlan.h.
References isRaSearch, m_type, m_value, and offset.
|
inline |
Definition at line 227 of file UnwindPlan.h.
References m_type, and unspecified.
Referenced by lldb_private::UnwindPlan::Row::Clear().
uint64_t lldb_private::UnwindPlan::Row::FAValue::constant |
Definition at line 343 of file UnwindPlan.h.
Referenced by operator==(), and SetIsConstant().
struct { ... } lldb_private::UnwindPlan::Row::FAValue::expr |
Referenced by operator==().
uint16_t lldb_private::UnwindPlan::Row::FAValue::length |
Definition at line 338 of file UnwindPlan.h.
Referenced by operator==().
|
private |
Definition at line 326 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), GetDWARFExpressionBytes(), GetDWARFExpressionLength(), GetOffset(), GetRegisterNumber(), GetValueType(), IncOffset(), IsConstant(), IsDWARFExpression(), IsRegisterDereferenced(), IsRegisterPlusOffset(), IsUnspecified(), operator==(), SetIsConstant(), 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 333 of file UnwindPlan.h.
Referenced by operator==(), SetIsRegisterPlusOffset(), SetOffset(), and SetRaSearch().
const uint8_t* lldb_private::UnwindPlan::Row::FAValue::opcodes |
Definition at line 337 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), operator==(), and SetIsDWARFExpression().
int32_t lldb_private::UnwindPlan::Row::FAValue::ra_search_offset |
Definition at line 341 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 331 of file UnwindPlan.h.
Referenced by operator==(), SetIsRegisterDereferenced(), and SetIsRegisterPlusOffset().