9#ifndef LLDB_TARGET_DYNAMICREGISTERINFO_H
10#define LLDB_TARGET_DYNAMICREGISTERINFO_H
49 static std::unique_ptr<DynamicRegisterInfo>
92 typedef llvm::iterator_range<reg_collection::const_iterator>
110 llvm::StringRef slice_str,
149 DynamicRegisterInfo::Register new_reg_info);
An architecture specification class.
A uniqued constant string class.
size_t SetRegisterInfo(const lldb_private::StructuredData::Dictionary &dict, const lldb_private::ArchSpec &arch)
set_reg_num_collection m_set_reg_nums
reg_to_regs_map m_value_regs_map
std::vector< uint32_t > reg_num_collection
name_collection m_set_names
std::map< uint32_t, uint32_t > reg_offset_map
llvm::iterator_range< reg_collection::const_iterator > reg_collection_const_range
llvm::iterator_range< reg_collection::iterator > reg_collection_range
DynamicRegisterInfo()=default
std::vector< reg_num_collection > set_reg_num_collection
const lldb_private::RegisterSet * GetRegisterSet(uint32_t i) const
const lldb_private::RegisterInfo * GetRegisterInfoAtIndex(uint32_t i) const
uint32_t ConvertRegisterKindToRegisterNumber(uint32_t kind, uint32_t num) const
static std::unique_ptr< DynamicRegisterInfo > Create(const StructuredData::Dictionary &dict, const ArchSpec &arch)
DynamicRegisterInfo(DynamicRegisterInfo &)=default
size_t GetNumRegisters() const
std::map< uint32_t, reg_num_collection > reg_to_regs_map
virtual ~DynamicRegisterInfo()=default
std::vector< lldb_private::ConstString > name_collection
llvm::Expected< uint32_t > ByteOffsetFromComposite(uint32_t index, lldb_private::StructuredData::Array &composite_reg_list, lldb::ByteOrder byte_order)
void Finalize(const lldb_private::ArchSpec &arch)
void MoveFrom(DynamicRegisterInfo &&info)
llvm::Expected< uint32_t > ByteOffsetFromSlice(uint32_t index, llvm::StringRef slice_str, lldb::ByteOrder byte_order)
size_t GetRegisterDataByteSize() const
size_t m_reg_data_byte_size
reg_offset_map m_value_reg_offset_map
reg_to_regs_map m_invalidate_regs_map
uint32_t GetRegisterSetIndexByName(const lldb_private::ConstString &set_name, bool can_create)
std::vector< lldb_private::RegisterSet > set_collection
const lldb_private::RegisterInfo * GetRegisterInfo(uint32_t kind, uint32_t num) const
DynamicRegisterInfo & operator=(DynamicRegisterInfo &)=default
size_t GetNumRegisterSets() const
std::vector< lldb_private::RegisterInfo > reg_collection
llvm::Expected< uint32_t > ByteOffsetFromRegInfoDict(uint32_t index, lldb_private::StructuredData::Dictionary ®_info_dict, lldb::ByteOrder byte_order)
#define LLDB_INVALID_INDEX32
#define LLDB_INVALID_REGNUM
A class that represents a running process on the host machine.
void addSupplementaryRegister(std::vector< DynamicRegisterInfo::Register > ®s, DynamicRegisterInfo::Register new_reg_info)
Format
Display format definitions.
Encoding
Register encoding definitions.
@ eEncodingUint
unsigned integer
ByteOrder
Byte ordering definitions.
uint32_t value_reg_offset
const RegisterFlags * flags_type
std::vector< uint32_t > value_regs
std::vector< uint32_t > invalidate_regs
Every register is described in detail including its name, alternate name (optional),...
Registers are grouped into register sets.