|
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 58 of file UnwindPlan.h.
| Enumerator | |
|---|---|
| unspecified | |
| undefined | |
| same | |
| atCFAPlusOffset | |
| isCFAPlusOffset | |
| atAFAPlusOffset | |
| isAFAPlusOffset | |
| inOtherRegister | |
| atDWARFExpression | |
| isDWARFExpression | |
| isConstant | |
Definition at line 60 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 97 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 117 of file UnwindPlan.h.
References m_location.
|
inline |
Definition at line 165 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, m_type, and opcodes.
|
inline |
Definition at line 179 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, and m_type.
|
inline |
Definition at line 185 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, and m_type.
|
inline |
Definition at line 150 of file UnwindPlan.h.
References m_type.
|
inline |
Definition at line 152 of file UnwindPlan.h.
References atAFAPlusOffset, atCFAPlusOffset, isAFAPlusOffset, isCFAPlusOffset, m_location, and m_type.
Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite().
|
inline |
Definition at line 144 of file UnwindPlan.h.
References inOtherRegister, LLDB_INVALID_REGNUM, m_location, and m_type.
|
inline |
Definition at line 100 of file UnwindPlan.h.
References isAFAPlusOffset, and m_type.
|
inline |
Definition at line 102 of file UnwindPlan.h.
References atAFAPlusOffset, and m_type.
|
inline |
Definition at line 98 of file UnwindPlan.h.
References atCFAPlusOffset, and m_type.
Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite().
|
inline |
Definition at line 106 of file UnwindPlan.h.
References atDWARFExpression, and m_type.
|
inline |
Definition at line 96 of file UnwindPlan.h.
References isCFAPlusOffset, and m_type.
|
inline |
Definition at line 110 of file UnwindPlan.h.
References isConstant, and m_type.
|
inline |
Definition at line 108 of file UnwindPlan.h.
References isDWARFExpression, and m_type.
|
inline |
Definition at line 104 of file UnwindPlan.h.
References inOtherRegister, and m_type.
|
inline |
Definition at line 90 of file UnwindPlan.h.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation().
|
inline |
Definition at line 94 of file UnwindPlan.h.
References m_type, and undefined.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation().
|
inline |
Definition at line 92 of file UnwindPlan.h.
References m_type, and unspecified.
|
inline |
Definition at line 80 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 129 of file UnwindPlan.h.
References atAFAPlusOffset, m_location, m_type, and offset.
Referenced by lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly().
|
inline |
Definition at line 119 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 139 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 134 of file UnwindPlan.h.
References isAFAPlusOffset, m_location, m_type, and offset.
|
inline |
Definition at line 124 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 112 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 88 of file UnwindPlan.h.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation(), lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToSame().
|
inline |
Definition at line 86 of file UnwindPlan.h.
References m_type, and undefined.
Referenced by lldb_private::RegisterContextUnwind::GetAbstractRegisterLocation(), 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 84 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 207 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 204 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 195 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 198 of file UnwindPlan.h.
Referenced by operator==(), SetAtAFAPlusOffset(), SetAtCFAPlusOffset(), SetIsAFAPlusOffset(), and SetIsCFAPlusOffset().
| const uint8_t* lldb_private::UnwindPlan::Row::AbstractRegisterLocation::opcodes |
Definition at line 203 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), operator==(), SetAtDWARFExpression(), and SetIsDWARFExpression().
| uint32_t lldb_private::UnwindPlan::Row::AbstractRegisterLocation::reg_num |
Definition at line 200 of file UnwindPlan.h.
Referenced by operator==(), and SetInRegister().