LLDB mainline
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
lldb_private::DynamicRegisterInfo Class Reference

#include <DynamicRegisterInfo.h>

Inheritance diagram for lldb_private::DynamicRegisterInfo:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::DynamicRegisterInfo:
Collaboration graph
[legend]

Classes

struct  Register
 

Public Types

typedef std::vector< lldb_private::RegisterInfo > reg_collection
 

Public Member Functions

 DynamicRegisterInfo ()=default
 
 DynamicRegisterInfo (const lldb_private::StructuredData::Dictionary &dict, const lldb_private::ArchSpec &arch)
 
virtual ~DynamicRegisterInfo ()=default
 
 DynamicRegisterInfo (DynamicRegisterInfo &&info)
 
DynamicRegisterInfooperator= (DynamicRegisterInfo &&info)
 
size_t SetRegisterInfo (const lldb_private::StructuredData::Dictionary &dict, const lldb_private::ArchSpec &arch)
 
size_t SetRegisterInfo (std::vector< Register > &&regs, const lldb_private::ArchSpec &arch)
 
size_t GetNumRegisters () const
 
size_t GetNumRegisterSets () const
 
size_t GetRegisterDataByteSize () const
 
const lldb_private::RegisterInfo * GetRegisterInfoAtIndex (uint32_t i) const
 
const lldb_private::RegisterSet * GetRegisterSet (uint32_t i) const
 
uint32_t GetRegisterSetIndexByName (const lldb_private::ConstString &set_name, bool can_create)
 
uint32_t ConvertRegisterKindToRegisterNumber (uint32_t kind, uint32_t num) const
 
const lldb_private::RegisterInfo * GetRegisterInfo (uint32_t kind, uint32_t num) const
 
void Dump () const
 
void Clear ()
 
bool IsReconfigurable ()
 
const lldb_private::RegisterInfo * GetRegisterInfo (llvm::StringRef reg_name) const
 
llvm::iterator_range< reg_collection::const_iterator > registers () const
 

Protected Types

typedef std::vector< lldb_private::RegisterSet > set_collection
 
typedef std::vector< uint32_treg_num_collection
 
typedef std::vector< reg_num_collectionset_reg_num_collection
 
typedef std::vector< lldb_private::ConstStringname_collection
 
typedef std::map< uint32_t, reg_num_collectionreg_to_regs_map
 
typedef std::map< uint32_t, uint32_treg_offset_map
 

Protected Member Functions

 DynamicRegisterInfo (DynamicRegisterInfo &)=default
 
DynamicRegisterInfooperator= (DynamicRegisterInfo &)=default
 
llvm::Expected< uint32_tByteOffsetFromSlice (uint32_t index, llvm::StringRef slice_str, lldb::ByteOrder byte_order)
 
llvm::Expected< uint32_tByteOffsetFromComposite (uint32_t index, lldb_private::StructuredData::Array &composite_reg_list, lldb::ByteOrder byte_order)
 
llvm::Expected< uint32_tByteOffsetFromRegInfoDict (uint32_t index, lldb_private::StructuredData::Dictionary &reg_info_dict, lldb::ByteOrder byte_order)
 
void MoveFrom (DynamicRegisterInfo &&info)
 
void Finalize (const lldb_private::ArchSpec &arch)
 
void ConfigureOffsets ()
 

Protected Attributes

reg_collection m_regs
 
set_collection m_sets
 
set_reg_num_collection m_set_reg_nums
 
name_collection m_set_names
 
reg_to_regs_map m_value_regs_map
 
reg_to_regs_map m_invalidate_regs_map
 
reg_offset_map m_value_reg_offset_map
 
size_t m_reg_data_byte_size = 0u
 
bool m_finalized = false
 
bool m_is_reconfigurable = false
 

Detailed Description

Definition at line 21 of file DynamicRegisterInfo.h.

Member Typedef Documentation

◆ name_collection

Definition at line 98 of file DynamicRegisterInfo.h.

◆ reg_collection

typedef std::vector<lldb_private::RegisterInfo> lldb_private::DynamicRegisterInfo::reg_collection

Definition at line 88 of file DynamicRegisterInfo.h.

◆ reg_num_collection

Definition at line 96 of file DynamicRegisterInfo.h.

◆ reg_offset_map

Definition at line 100 of file DynamicRegisterInfo.h.

◆ reg_to_regs_map

Definition at line 99 of file DynamicRegisterInfo.h.

◆ set_collection

typedef std::vector<lldb_private::RegisterSet> lldb_private::DynamicRegisterInfo::set_collection
protected

Definition at line 95 of file DynamicRegisterInfo.h.

◆ set_reg_num_collection

Definition at line 97 of file DynamicRegisterInfo.h.

Constructor & Destructor Documentation

◆ DynamicRegisterInfo() [1/4]

lldb_private::DynamicRegisterInfo::DynamicRegisterInfo ( DynamicRegisterInfo )
protecteddefault

◆ DynamicRegisterInfo() [2/4]

lldb_private::DynamicRegisterInfo::DynamicRegisterInfo ( )
default

◆ DynamicRegisterInfo() [3/4]

DynamicRegisterInfo::DynamicRegisterInfo ( const lldb_private::StructuredData::Dictionary dict,
const lldb_private::ArchSpec arch 
)

Definition at line 23 of file DynamicRegisterInfo.cpp.

References SetRegisterInfo().

◆ ~DynamicRegisterInfo()

virtual lldb_private::DynamicRegisterInfo::~DynamicRegisterInfo ( )
virtualdefault

◆ DynamicRegisterInfo() [4/4]

DynamicRegisterInfo::DynamicRegisterInfo ( DynamicRegisterInfo &&  info)

Definition at line 29 of file DynamicRegisterInfo.cpp.

References MoveFrom().

Member Function Documentation

◆ ByteOffsetFromComposite()

llvm::Expected< uint32_t > DynamicRegisterInfo::ByteOffsetFromComposite ( uint32_t  index,
lldb_private::StructuredData::Array composite_reg_list,
lldb::ByteOrder  byte_order 
)
protected

◆ ByteOffsetFromRegInfoDict()

llvm::Expected< uint32_t > DynamicRegisterInfo::ByteOffsetFromRegInfoDict ( uint32_t  index,
lldb_private::StructuredData::Dictionary reg_info_dict,
lldb::ByteOrder  byte_order 
)
protected

◆ ByteOffsetFromSlice()

llvm::Expected< uint32_t > DynamicRegisterInfo::ByteOffsetFromSlice ( uint32_t  index,
llvm::StringRef  slice_str,
lldb::ByteOrder  byte_order 
)
protected

◆ Clear()

void DynamicRegisterInfo::Clear ( )

◆ ConfigureOffsets()

void DynamicRegisterInfo::ConfigureOffsets ( )
protected

◆ ConvertRegisterKindToRegisterNumber()

uint32_t DynamicRegisterInfo::ConvertRegisterKindToRegisterNumber ( uint32_t  kind,
uint32_t  num 
) const

◆ Dump()

void DynamicRegisterInfo::Dump ( ) const

◆ Finalize()

void DynamicRegisterInfo::Finalize ( const lldb_private::ArchSpec arch)
protected

◆ GetNumRegisters()

size_t DynamicRegisterInfo::GetNumRegisters ( ) const

◆ GetNumRegisterSets()

size_t DynamicRegisterInfo::GetNumRegisterSets ( ) const

Definition at line 671 of file DynamicRegisterInfo.cpp.

References m_sets.

Referenced by RegisterContextMemory::GetRegisterSetCount().

◆ GetRegisterDataByteSize()

size_t DynamicRegisterInfo::GetRegisterDataByteSize ( ) const

◆ GetRegisterInfo() [1/2]

const lldb_private::RegisterInfo * DynamicRegisterInfo::GetRegisterInfo ( llvm::StringRef  reg_name) const

Definition at line 790 of file DynamicRegisterInfo.cpp.

References m_regs.

◆ GetRegisterInfo() [2/2]

const RegisterInfo * DynamicRegisterInfo::GetRegisterInfo ( uint32_t  kind,
uint32_t  num 
) const

◆ GetRegisterInfoAtIndex()

const RegisterInfo * DynamicRegisterInfo::GetRegisterInfoAtIndex ( uint32_t  i) const

Definition at line 678 of file DynamicRegisterInfo.cpp.

References m_regs.

Referenced by ConfigureOffsets(), and RegisterContextMemory::GetRegisterInfoAtIndex().

◆ GetRegisterSet()

const RegisterSet * DynamicRegisterInfo::GetRegisterSet ( uint32_t  i) const

Definition at line 692 of file DynamicRegisterInfo.cpp.

References m_sets.

Referenced by RegisterContextMemory::GetRegisterSet().

◆ GetRegisterSetIndexByName()

uint32_t DynamicRegisterInfo::GetRegisterSetIndexByName ( const lldb_private::ConstString set_name,
bool  can_create 
)

◆ IsReconfigurable()

bool DynamicRegisterInfo::IsReconfigurable ( )

Definition at line 667 of file DynamicRegisterInfo.cpp.

References m_is_reconfigurable.

◆ MoveFrom()

void DynamicRegisterInfo::MoveFrom ( DynamicRegisterInfo &&  info)
protected

◆ operator=() [1/2]

DynamicRegisterInfo & DynamicRegisterInfo::operator= ( DynamicRegisterInfo &&  info)

Definition at line 34 of file DynamicRegisterInfo.cpp.

References MoveFrom().

◆ operator=() [2/2]

DynamicRegisterInfo & lldb_private::DynamicRegisterInfo::operator= ( DynamicRegisterInfo )
protecteddefault

◆ registers()

llvm::iterator_range< reg_collection::const_iterator > lldb_private::DynamicRegisterInfo::registers ( ) const
inline

Definition at line 89 of file DynamicRegisterInfo.h.

References m_regs.

Referenced by Dump(), and MoveFrom().

◆ SetRegisterInfo() [1/2]

size_t DynamicRegisterInfo::SetRegisterInfo ( const lldb_private::StructuredData::Dictionary dict,
const lldb_private::ArchSpec arch 
)

◆ SetRegisterInfo() [2/2]

size_t DynamicRegisterInfo::SetRegisterInfo ( std::vector< Register > &&  regs,
const lldb_private::ArchSpec arch 
)

Member Data Documentation

◆ m_finalized

bool lldb_private::DynamicRegisterInfo::m_finalized = false
protected

Definition at line 127 of file DynamicRegisterInfo.h.

Referenced by Clear(), Finalize(), MoveFrom(), and SetRegisterInfo().

◆ m_invalidate_regs_map

reg_to_regs_map lldb_private::DynamicRegisterInfo::m_invalidate_regs_map
protected

◆ m_is_reconfigurable

bool lldb_private::DynamicRegisterInfo::m_is_reconfigurable = false
protected

Definition at line 128 of file DynamicRegisterInfo.h.

Referenced by Finalize(), and IsReconfigurable().

◆ m_reg_data_byte_size

size_t lldb_private::DynamicRegisterInfo::m_reg_data_byte_size = 0u
protected

◆ m_regs

reg_collection lldb_private::DynamicRegisterInfo::m_regs
protected

◆ m_set_names

name_collection lldb_private::DynamicRegisterInfo::m_set_names
protected

Definition at line 121 of file DynamicRegisterInfo.h.

Referenced by Clear(), GetRegisterSetIndexByName(), MoveFrom(), and SetRegisterInfo().

◆ m_set_reg_nums

set_reg_num_collection lldb_private::DynamicRegisterInfo::m_set_reg_nums
protected

◆ m_sets

set_collection lldb_private::DynamicRegisterInfo::m_sets
protected

◆ m_value_reg_offset_map

reg_offset_map lldb_private::DynamicRegisterInfo::m_value_reg_offset_map
protected

Definition at line 124 of file DynamicRegisterInfo.h.

Referenced by ConfigureOffsets(), and SetRegisterInfo().

◆ m_value_regs_map

reg_to_regs_map lldb_private::DynamicRegisterInfo::m_value_regs_map
protected

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