LLDB mainline
lldb_private::UnwindPlan::Row::FAValue Class Reference

#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 () const
int GetDWARFExpressionLength () const
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

Detailed Description

Definition at line 210 of file UnwindPlan.h.

Member Enumeration Documentation

◆ ValueType

Enumerator
unspecified 
isRegisterPlusOffset 
isRegisterDereferenced 
isDWARFExpression 
isRaSearch 
isConstant 

Definition at line 212 of file UnwindPlan.h.

Constructor & Destructor Documentation

◆ FAValue()

lldb_private::UnwindPlan::Row::FAValue::FAValue ( )
inline

Definition at line 221 of file UnwindPlan.h.

References m_value.

Referenced by operator!=().

Member Function Documentation

◆ Dump()

◆ GetConstant()

uint64_t lldb_private::UnwindPlan::Row::FAValue::GetConstant ( ) const
inline

Definition at line 270 of file UnwindPlan.h.

References m_value.

Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().

◆ GetDWARFExpr()

void lldb_private::UnwindPlan::Row::FAValue::GetDWARFExpr ( const uint8_t ** opcodes,
uint16_t & len ) const
inline

Definition at line 301 of file UnwindPlan.h.

References isDWARFExpression, m_type, m_value, and opcodes.

◆ GetDWARFExpressionBytes()

const uint8_t * lldb_private::UnwindPlan::Row::FAValue::GetDWARFExpressionBytes ( ) const
inline

Definition at line 311 of file UnwindPlan.h.

References isDWARFExpression, m_type, and m_value.

Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().

◆ GetDWARFExpressionLength()

int lldb_private::UnwindPlan::Row::FAValue::GetDWARFExpressionLength ( ) const
inline

Definition at line 317 of file UnwindPlan.h.

References isDWARFExpression, m_type, and m_value.

Referenced by lldb_private::RegisterContextUnwind::ReadFrameAddress().

◆ GetOffset()

◆ GetRegisterNumber()

◆ GetValueType()

◆ IncOffset()

void lldb_private::UnwindPlan::Row::FAValue::IncOffset ( int32_t delta)
inline

◆ IsConstant()

bool lldb_private::UnwindPlan::Row::FAValue::IsConstant ( ) const
inline

Definition at line 263 of file UnwindPlan.h.

References isConstant, and m_type.

◆ IsDWARFExpression()

bool lldb_private::UnwindPlan::Row::FAValue::IsDWARFExpression ( ) const
inline

Definition at line 255 of file UnwindPlan.h.

References isDWARFExpression, and m_type.

◆ IsRegisterDereferenced()

bool lldb_private::UnwindPlan::Row::FAValue::IsRegisterDereferenced ( ) const
inline

Definition at line 246 of file UnwindPlan.h.

References isRegisterDereferenced, and m_type.

◆ IsRegisterPlusOffset()

bool lldb_private::UnwindPlan::Row::FAValue::IsRegisterPlusOffset ( ) const
inline

Definition at line 236 of file UnwindPlan.h.

References isRegisterPlusOffset, and m_type.

◆ IsUnspecified()

bool lldb_private::UnwindPlan::Row::FAValue::IsUnspecified ( ) const
inline

Definition at line 229 of file UnwindPlan.h.

References m_type, and unspecified.

◆ operator!=()

bool lldb_private::UnwindPlan::Row::FAValue::operator!= ( const FAValue & rhs) const
inline

Definition at line 225 of file UnwindPlan.h.

References FAValue().

◆ operator==()

bool UnwindPlan::Row::FAValue::operator== ( const FAValue & rhs) const

◆ SetIsConstant()

void lldb_private::UnwindPlan::Row::FAValue::SetIsConstant ( uint64_t constant)
inline

Definition at line 265 of file UnwindPlan.h.

References constant, isConstant, m_type, and m_value.

◆ SetIsDWARFExpression()

void lldb_private::UnwindPlan::Row::FAValue::SetIsDWARFExpression ( const uint8_t * opcodes,
uint32_t len )
inline

◆ SetIsRegisterDereferenced()

void lldb_private::UnwindPlan::Row::FAValue::SetIsRegisterDereferenced ( uint32_t reg_num)
inline

◆ SetIsRegisterPlusOffset()

void lldb_private::UnwindPlan::Row::FAValue::SetIsRegisterPlusOffset ( uint32_t reg_num,
int32_t offset )
inline

Definition at line 240 of file UnwindPlan.h.

References isRegisterPlusOffset, m_type, m_value, offset, and reg_num.

Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), EHProgramRange::BuildUnwindPlanRow(), ABIAArch64::CreateDefaultUnwindPlan(), ABIMacOSX_arm::CreateDefaultUnwindPlan(), ABIMacOSX_i386::CreateDefaultUnwindPlan(), ABISysV_arm::CreateDefaultUnwindPlan(), ABISysV_hexagon::CreateDefaultUnwindPlan(), ABISysV_i386::CreateDefaultUnwindPlan(), ABISysV_loongarch::CreateDefaultUnwindPlan(), ABISysV_mips64::CreateDefaultUnwindPlan(), ABISysV_mips::CreateDefaultUnwindPlan(), ABISysV_msp430::CreateDefaultUnwindPlan(), ABISysV_riscv::CreateDefaultUnwindPlan(), ABISysV_x86_64::CreateDefaultUnwindPlan(), ABIWindows_x86_64::CreateDefaultUnwindPlan(), EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionRISCV::CreateFunctionEntryUnwind(), ABIAArch64::CreateFunctionEntryUnwindPlan(), ABIMacOSX_arm::CreateFunctionEntryUnwindPlan(), ABIMacOSX_i386::CreateFunctionEntryUnwindPlan(), ABISysV_arc::CreateFunctionEntryUnwindPlan(), ABISysV_arm::CreateFunctionEntryUnwindPlan(), ABISysV_hexagon::CreateFunctionEntryUnwindPlan(), ABISysV_i386::CreateFunctionEntryUnwindPlan(), ABISysV_loongarch::CreateFunctionEntryUnwindPlan(), ABISysV_mips64::CreateFunctionEntryUnwindPlan(), ABISysV_mips::CreateFunctionEntryUnwindPlan(), ABISysV_msp430::CreateFunctionEntryUnwindPlan(), ABISysV_ppc64::CreateFunctionEntryUnwindPlan(), ABISysV_ppc::CreateFunctionEntryUnwindPlan(), ABISysV_riscv::CreateFunctionEntryUnwindPlan(), ABISysV_s390x::CreateFunctionEntryUnwindPlan(), ABISysV_x86_64::CreateFunctionEntryUnwindPlan(), ABIWindows_x86_64::CreateFunctionEntryUnwindPlan(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), GetAArch64TrapHandlerUnwindPlan(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), lldb_private::ArmUnwindInfo::GetUnwindPlan(), and lldb_private::DWARFCallFrameInfo::HandleCommonDwarfOpcode().

◆ SetOffset()

void lldb_private::UnwindPlan::Row::FAValue::SetOffset ( int32_t offset)
inline

Definition at line 296 of file UnwindPlan.h.

References isRegisterPlusOffset, m_type, m_value, and offset.

◆ SetRaSearch()

void lldb_private::UnwindPlan::Row::FAValue::SetRaSearch ( int32_t offset)
inline

◆ SetUnspecified()

void lldb_private::UnwindPlan::Row::FAValue::SetUnspecified ( )
inline

Definition at line 227 of file UnwindPlan.h.

References m_type, and unspecified.

Member Data Documentation

◆ constant

uint64_t lldb_private::UnwindPlan::Row::FAValue::constant

Definition at line 343 of file UnwindPlan.h.

Referenced by operator==(), and SetIsConstant().

◆ [struct]

struct { ... } lldb_private::UnwindPlan::Row::FAValue::expr

Referenced by operator==().

◆ length

uint16_t lldb_private::UnwindPlan::Row::FAValue::length

Definition at line 338 of file UnwindPlan.h.

Referenced by operator==().

◆ m_type

◆ [union]

◆ offset

int32_t lldb_private::UnwindPlan::Row::FAValue::offset

Definition at line 333 of file UnwindPlan.h.

Referenced by operator==(), SetIsRegisterPlusOffset(), SetOffset(), and SetRaSearch().

◆ opcodes

const uint8_t* lldb_private::UnwindPlan::Row::FAValue::opcodes

Definition at line 337 of file UnwindPlan.h.

Referenced by GetDWARFExpr(), operator==(), and SetIsDWARFExpression().

◆ ra_search_offset

int32_t lldb_private::UnwindPlan::Row::FAValue::ra_search_offset

Definition at line 341 of file UnwindPlan.h.

Referenced by operator==().

◆ [struct]

struct { ... } lldb_private::UnwindPlan::Row::FAValue::reg

Referenced by operator==().

◆ reg_num

uint32_t lldb_private::UnwindPlan::Row::FAValue::reg_num

Definition at line 331 of file UnwindPlan.h.

Referenced by operator==(), SetIsRegisterDereferenced(), and SetIsRegisterPlusOffset().


The documentation for this class was generated from the following files: