|
LLDB mainline
|
#include <UnwindPlan.h>
Public Types | |
| enum | RestoreType { unspecified , undefined , same , atCFAPlusOffset , isCFAPlusOffset , atAFAPlusOffset , isAFAPlusOffset , inOtherRegister , atDWARFExpression , isDWARFExpression , isConstant } |
Private Attributes | |
| RestoreType | m_type = unspecified |
| union { | |
| int32_t offset | |
| uint32_t reg_num | |
| struct { | |
| const uint8_t * opcodes | |
| uint16_t length | |
| } expr | |
| uint64_t constant_value | |
| } | m_location |
Definition at line 57 of file UnwindPlan.h.
| Enumerator | |
|---|---|
| unspecified | |
| undefined | |
| same | |
| atCFAPlusOffset | |
| isCFAPlusOffset | |
| atAFAPlusOffset | |
| isAFAPlusOffset | |
| inOtherRegister | |
| atDWARFExpression | |
| isDWARFExpression | |
| isConstant | |
Definition at line 59 of file UnwindPlan.h.
|
inline |
| void UnwindPlan::Row::AbstractRegisterLocation::Dump | ( | Stream & | s, |
| const UnwindPlan * | unwind_plan, | ||
| const UnwindPlan::Row * | row, | ||
| Thread * | thread, | ||
| bool | verbose ) const |
Definition at line 98 of file UnwindPlan.cpp.
References atAFAPlusOffset, atCFAPlusOffset, atDWARFExpression, DumpDWARFExpr(), lldb_private::UnwindPlan::GetRegisterInfo(), inOtherRegister, isAFAPlusOffset, isCFAPlusOffset, isConstant, isDWARFExpression, m_location, m_type, lldb_private::RegisterInfo::name, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), same, undefined, unspecified, and lldb_private::UnwindPlan::UnwindPlan().
|
inline |
Definition at line 116 of file UnwindPlan.h.
References m_location.
|
inline |
Definition at line 164 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, m_type, and opcodes.
|
inline |
Definition at line 178 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, and m_type.
|
inline |
Definition at line 184 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, and m_type.
|
inline |
Definition at line 149 of file UnwindPlan.h.
References m_type.
|
inline |
Definition at line 151 of file UnwindPlan.h.
References atAFAPlusOffset, atCFAPlusOffset, isAFAPlusOffset, isCFAPlusOffset, m_location, and m_type.
Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite().
|
inline |
Definition at line 143 of file UnwindPlan.h.
References inOtherRegister, LLDB_INVALID_REGNUM, m_location, and m_type.
|
inline |
Definition at line 99 of file UnwindPlan.h.
References isAFAPlusOffset, and m_type.
|
inline |
Definition at line 101 of file UnwindPlan.h.
References atAFAPlusOffset, and m_type.
|
inline |
Definition at line 97 of file UnwindPlan.h.
References atCFAPlusOffset, and m_type.
Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite().
|
inline |
Definition at line 105 of file UnwindPlan.h.
References atDWARFExpression, and m_type.
|
inline |
Definition at line 95 of file UnwindPlan.h.
References isCFAPlusOffset, and m_type.
|
inline |
Definition at line 109 of file UnwindPlan.h.
References isConstant, and m_type.
|
inline |
Definition at line 107 of file UnwindPlan.h.
References isDWARFExpression, and m_type.
|
inline |
Definition at line 103 of file UnwindPlan.h.
References inOtherRegister, and m_type.
|
inline |
Definition at line 89 of file UnwindPlan.h.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation().
|
inline |
Definition at line 93 of file UnwindPlan.h.
References m_type, and undefined.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation().
|
inline |
Definition at line 91 of file UnwindPlan.h.
References m_type, and unspecified.
|
inline |
Definition at line 79 of file UnwindPlan.h.
References AbstractRegisterLocation().
| bool UnwindPlan::Row::AbstractRegisterLocation::operator== | ( | const AbstractRegisterLocation & | rhs | ) | const |
Definition at line 27 of file UnwindPlan.cpp.
References atAFAPlusOffset, atCFAPlusOffset, atDWARFExpression, constant_value, expr, inOtherRegister, isAFAPlusOffset, isCFAPlusOffset, isConstant, isDWARFExpression, length, m_location, m_type, offset, opcodes, reg_num, same, undefined, and unspecified.
|
inline |
Definition at line 128 of file UnwindPlan.h.
References atAFAPlusOffset, m_location, m_type, and offset.
Referenced by lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly().
|
inline |
Definition at line 118 of file UnwindPlan.h.
References atCFAPlusOffset, m_location, m_type, and offset.
Referenced by lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToAtCFAPlusOffset().
| void UnwindPlan::Row::AbstractRegisterLocation::SetAtDWARFExpression | ( | const uint8_t * | opcodes, |
| uint32_t | len ) |
Definition at line 60 of file UnwindPlan.cpp.
References atDWARFExpression, m_location, m_type, and opcodes.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode().
|
inline |
Definition at line 138 of file UnwindPlan.h.
References inOtherRegister, m_location, m_type, and reg_num.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation(), lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToRegister().
|
inline |
Definition at line 133 of file UnwindPlan.h.
References isAFAPlusOffset, m_location, m_type, and offset.
|
inline |
Definition at line 123 of file UnwindPlan.h.
References isCFAPlusOffset, m_location, m_type, and offset.
Referenced by lldb_private::ABI::GetFallbackRegisterLocation(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), lldb_private::DWARFCallFrameInfo::ParseFDE(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToIsCFAPlusOffset().
|
inline |
Definition at line 111 of file UnwindPlan.h.
References isConstant, m_location, and m_type.
Referenced by lldb_private::UnwindPlan::Row::SetRegisterLocationToIsConstant().
| void UnwindPlan::Row::AbstractRegisterLocation::SetIsDWARFExpression | ( | const uint8_t * | opcodes, |
| uint32_t | len ) |
Definition at line 69 of file UnwindPlan.cpp.
References isDWARFExpression, m_location, m_type, and opcodes.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), lldb_private::breakpad::SymbolFileBreakpad::ParseCFIUnwindRow(), lldb_private::breakpad::SymbolFileBreakpad::ParseWinUnwindPlan(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToIsDWARFExpression().
|
inline |
Definition at line 87 of file UnwindPlan.h.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation(), lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToSame().
|
inline |
Definition at line 85 of file UnwindPlan.h.
References m_type, and undefined.
Referenced by ABISysV_s390x::GetFallbackRegisterLocation(), lldb_private::ABI::GetFallbackRegisterLocation(), lldb_private::UnwindPlan::Row::GetRegisterInfo(), lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToUndefined().
|
inline |
Definition at line 83 of file UnwindPlan.h.
References m_type, and unspecified.
Referenced by lldb_private::UnwindPlan::Row::SetRegisterLocationToUnspecified().
| uint64_t lldb_private::UnwindPlan::Row::AbstractRegisterLocation::constant_value |
Definition at line 206 of file UnwindPlan.h.
Referenced by operator==().
| struct { ... } lldb_private::UnwindPlan::Row::AbstractRegisterLocation::expr |
Referenced by operator==().
| uint16_t lldb_private::UnwindPlan::Row::AbstractRegisterLocation::length |
Definition at line 203 of file UnwindPlan.h.
Referenced by operator==().
| union { ... } lldb_private::UnwindPlan::Row::AbstractRegisterLocation::m_location |
Referenced by AbstractRegisterLocation(), Dump(), GetConstant(), GetDWARFExpr(), GetDWARFExpressionBytes(), GetDWARFExpressionLength(), GetOffset(), GetRegisterNumber(), operator==(), SetAtAFAPlusOffset(), SetAtCFAPlusOffset(), SetAtDWARFExpression(), SetInRegister(), SetIsAFAPlusOffset(), SetIsCFAPlusOffset(), SetIsConstant(), and SetIsDWARFExpression().
|
private |
Definition at line 194 of file UnwindPlan.h.
Referenced by Dump(), GetDWARFExpr(), GetDWARFExpressionBytes(), GetDWARFExpressionLength(), GetLocationType(), GetOffset(), GetRegisterNumber(), IsAFAPlusOffset(), IsAtAFAPlusOffset(), IsAtCFAPlusOffset(), IsAtDWARFExpression(), IsCFAPlusOffset(), IsConstant(), IsDWARFExpression(), IsInOtherRegister(), IsSame(), IsUndefined(), IsUnspecified(), operator==(), SetAtAFAPlusOffset(), SetAtCFAPlusOffset(), SetAtDWARFExpression(), SetInRegister(), SetIsAFAPlusOffset(), SetIsCFAPlusOffset(), SetIsConstant(), SetIsDWARFExpression(), SetSame(), SetUndefined(), and SetUnspecified().
| int32_t lldb_private::UnwindPlan::Row::AbstractRegisterLocation::offset |
Definition at line 197 of file UnwindPlan.h.
Referenced by operator==(), SetAtAFAPlusOffset(), SetAtCFAPlusOffset(), SetIsAFAPlusOffset(), and SetIsCFAPlusOffset().
| const uint8_t* lldb_private::UnwindPlan::Row::AbstractRegisterLocation::opcodes |
Definition at line 202 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), operator==(), SetAtDWARFExpression(), and SetIsDWARFExpression().
| uint32_t lldb_private::UnwindPlan::Row::AbstractRegisterLocation::reg_num |
Definition at line 199 of file UnwindPlan.h.
Referenced by operator==(), and SetInRegister().