LLDB mainline
|
#include <UnwindPlan.h>
Public Types | |
enum | RestoreType { unspecified , undefined , same , atCFAPlusOffset , isCFAPlusOffset , atAFAPlusOffset , isAFAPlusOffset , inOtherRegister , atDWARFExpression , isDWARFExpression } |
Private Attributes | |
RestoreType | m_type = unspecified |
union { | |
int32_t offset | |
uint32_t reg_num | |
struct { | |
const uint8_t * opcodes | |
uint16_t length | |
} expr | |
} | m_location |
Definition at line 57 of file UnwindPlan.h.
Enumerator | |
---|---|
unspecified | |
undefined | |
same | |
atCFAPlusOffset | |
isCFAPlusOffset | |
atAFAPlusOffset | |
isAFAPlusOffset | |
inOtherRegister | |
atDWARFExpression | |
isDWARFExpression |
Definition at line 59 of file UnwindPlan.h.
|
inline |
Definition at line 74 of file UnwindPlan.h.
void UnwindPlan::Row::RegisterLocation::Dump | ( | Stream & | s, |
const UnwindPlan * | unwind_plan, | ||
const UnwindPlan::Row * | row, | ||
Thread * | thread, | ||
bool | verbose | ||
) | const |
Definition at line 93 of file UnwindPlan.cpp.
References DumpDWARFExpr(), lldb_private::UnwindPlan::GetRegisterInfo(), lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), and lldb_private::Stream::PutCString().
|
inline |
Definition at line 154 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, m_type, and opcodes.
|
inline |
Definition at line 168 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 174 of file UnwindPlan.h.
References atDWARFExpression, isDWARFExpression, m_location, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 139 of file UnwindPlan.h.
References m_type.
|
inline |
Definition at line 141 of file UnwindPlan.h.
References atAFAPlusOffset, atCFAPlusOffset, isAFAPlusOffset, isCFAPlusOffset, m_location, and m_type.
Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite(), and lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 133 of file UnwindPlan.h.
References inOtherRegister, LLDB_INVALID_REGNUM, m_location, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 98 of file UnwindPlan.h.
References isAFAPlusOffset, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 100 of file UnwindPlan.h.
References atAFAPlusOffset, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 96 of file UnwindPlan.h.
References atCFAPlusOffset, and m_type.
Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite(), and lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 104 of file UnwindPlan.h.
References atDWARFExpression, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 94 of file UnwindPlan.h.
References isCFAPlusOffset, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 106 of file UnwindPlan.h.
References isDWARFExpression, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 102 of file UnwindPlan.h.
References inOtherRegister, and m_type.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 88 of file UnwindPlan.h.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 92 of file UnwindPlan.h.
References m_type, and undefined.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 90 of file UnwindPlan.h.
References m_type, and unspecified.
Referenced by lldb_private::RegisterContextUnwind::SavedLocationForRegister().
|
inline |
Definition at line 78 of file UnwindPlan.h.
bool UnwindPlan::Row::RegisterLocation::operator== | ( | const RegisterLocation & | rhs | ) | const |
Definition at line 25 of file UnwindPlan.cpp.
References atAFAPlusOffset, atCFAPlusOffset, atDWARFExpression, expr, inOtherRegister, isAFAPlusOffset, isCFAPlusOffset, isDWARFExpression, length, m_location, m_type, offset, opcodes, reg_num, same, undefined, and unspecified.
|
inline |
Definition at line 118 of file UnwindPlan.h.
References atAFAPlusOffset, m_location, m_type, and offset.
Referenced by lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly().
|
inline |
Definition at line 108 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::RegisterLocation::SetAtDWARFExpression | ( | const uint8_t * | opcodes, |
uint32_t | len | ||
) |
Definition at line 56 of file UnwindPlan.cpp.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode().
|
inline |
Definition at line 128 of file UnwindPlan.h.
References inOtherRegister, m_location, m_type, and reg_num.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToRegister().
|
inline |
Definition at line 123 of file UnwindPlan.h.
References isAFAPlusOffset, m_location, m_type, and offset.
|
inline |
Definition at line 113 of file UnwindPlan.h.
References isCFAPlusOffset, m_location, m_type, and offset.
Referenced by lldb_private::ABI::GetFallbackRegisterLocation(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToIsCFAPlusOffset().
void UnwindPlan::Row::RegisterLocation::SetIsDWARFExpression | ( | const uint8_t * | opcodes, |
uint32_t | len | ||
) |
Definition at line 65 of file UnwindPlan.cpp.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), lldb_private::breakpad::SymbolFileBreakpad::ParseCFIUnwindRow(), and lldb_private::breakpad::SymbolFileBreakpad::ParseWinUnwindPlan().
|
inline |
Definition at line 86 of file UnwindPlan.h.
Referenced by lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode(), and lldb_private::UnwindPlan::Row::SetRegisterLocationToSame().
|
inline |
Definition at line 84 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 82 of file UnwindPlan.h.
References m_type, and unspecified.
Referenced by lldb_private::UnwindPlan::Row::SetRegisterLocationToUnspecified().
struct { ... } lldb_private::UnwindPlan::Row::RegisterLocation::expr |
Referenced by operator==().
uint16_t lldb_private::UnwindPlan::Row::RegisterLocation::length |
Definition at line 193 of file UnwindPlan.h.
Referenced by operator==().
union { ... } lldb_private::UnwindPlan::Row::RegisterLocation::m_location |
|
private |
Definition at line 184 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), GetDWARFExpressionBytes(), GetDWARFExpressionLength(), GetLocationType(), GetOffset(), GetRegisterNumber(), IsAFAPlusOffset(), IsAtAFAPlusOffset(), IsAtCFAPlusOffset(), IsAtDWARFExpression(), IsCFAPlusOffset(), IsDWARFExpression(), IsInOtherRegister(), IsSame(), IsUndefined(), IsUnspecified(), operator==(), SetAtAFAPlusOffset(), SetAtCFAPlusOffset(), SetInRegister(), SetIsAFAPlusOffset(), SetIsCFAPlusOffset(), SetSame(), SetUndefined(), and SetUnspecified().
int32_t lldb_private::UnwindPlan::Row::RegisterLocation::offset |
Definition at line 187 of file UnwindPlan.h.
Referenced by operator==(), SetAtAFAPlusOffset(), SetAtCFAPlusOffset(), SetIsAFAPlusOffset(), and SetIsCFAPlusOffset().
const uint8_t* lldb_private::UnwindPlan::Row::RegisterLocation::opcodes |
Definition at line 192 of file UnwindPlan.h.
Referenced by GetDWARFExpr(), and operator==().
uint32_t lldb_private::UnwindPlan::Row::RegisterLocation::reg_num |
Definition at line 189 of file UnwindPlan.h.
Referenced by operator==(), and SetInRegister().