LLDB mainline
Public Types | Public Member Functions | Private Attributes | List of all members
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 ()
 
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
 

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.

Member Function Documentation

◆ Dump()

void UnwindPlan::Row::FAValue::Dump ( Stream s,
const UnwindPlan unwind_plan,
Thread thread 
) const

◆ 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 ( )
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 ( )
inline

Definition at line 317 of file UnwindPlan.h.

References isDWARFExpression, m_type, and m_value.

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

◆ GetOffset()

int32_t lldb_private::UnwindPlan::Row::FAValue::GetOffset ( ) const
inline

◆ GetRegisterNumber()

uint32_t lldb_private::UnwindPlan::Row::FAValue::GetRegisterNumber ( ) const
inline

◆ GetValueType()

ValueType lldb_private::UnwindPlan::Row::FAValue::GetValueType ( ) const
inline

Definition at line 278 of file UnwindPlan.h.

References m_type.

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

◆ IncOffset()

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

Definition at line 291 of file UnwindPlan.h.

References isRegisterPlusOffset, m_type, and m_value.

◆ 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.

Referenced by lldb_private::UnwindPlan::Row::Dump().

◆ operator!=()

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

Definition at line 225 of file UnwindPlan.h.

◆ operator==()

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

Definition at line 171 of file UnwindPlan.cpp.

References constant, expr, length, m_type, m_value, offset, opcodes, ra_search_offset, reg, and reg_num.

◆ 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

Definition at line 250 of file UnwindPlan.h.

References isRegisterDereferenced, m_type, m_value, and reg_num.

◆ SetIsRegisterPlusOffset()

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

◆ 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

Definition at line 231 of file UnwindPlan.h.

References isRaSearch, m_type, m_value, and offset.

◆ SetUnspecified()

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

Definition at line 227 of file UnwindPlan.h.

References m_type, and unspecified.

Referenced by lldb_private::UnwindPlan::Row::Clear().

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 { ... } 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

ValueType lldb_private::UnwindPlan::Row::FAValue::m_type = unspecified
private

◆ 

union { ... } lldb_private::UnwindPlan::Row::FAValue::m_value

◆ 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 { ... } 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: