22 uint32_t concrete_frame_idx,
26 m_reg_valid(), m_reg_data(), m_reg_data_addr(reg_data_addr) {
49 std::vector<bool>::iterator pos, end =
m_reg_valid.end();
82 const bool partial_data_ok =
false;
97 return error.Success();
109 data_sp->GetByteSize(),
110 error) == data_sp->GetByteSize()) {
127 data_sp->GetByteSize(),
128 error) == data_sp->GetByteSize())
static llvm::raw_ostream & error(Stream &strm)
void SetAllRegisterData(const lldb::DataBufferSP &data_sp)
std::vector< bool > m_reg_valid
bool WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) override
bool ReadAllRegisterValues(lldb::WritableDataBufferSP &data_sp) override
bool WriteRegister(const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue ®_value) override
size_t GetRegisterCount() override
lldb::addr_t m_reg_data_addr
uint32_t ConvertRegisterKindToRegisterNumber(lldb::RegisterKind kind, uint32_t num) override
Convert from a given register numbering scheme to the lldb register numbering scheme.
const lldb_private::RegisterSet * GetRegisterSet(size_t reg_set) override
lldb_private::DataExtractor m_reg_data
void InvalidateAllRegisters() override
lldb::WritableDataBufferSP m_data
size_t GetRegisterSetCount() override
lldb_private::DynamicRegisterInfo & m_reg_infos
bool ReadRegister(const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue ®_value) override
void SetAllRegisterValid(bool b)
~RegisterContextMemory() override
RegisterContextMemory(lldb_private::Thread &thread, uint32_t concrete_frame_idx, lldb_private::DynamicRegisterInfo ®_info, lldb::addr_t reg_data_addr)
const lldb_private::RegisterInfo * GetRegisterInfoAtIndex(size_t reg) override
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
size_t GetNumRegisters() const
size_t GetRegisterDataByteSize() const
size_t GetNumRegisterSets() const
lldb::ProcessSP CalculateProcess() override
virtual Status WriteRegisterValueToMemory(const lldb_private::RegisterInfo *reg_info, lldb::addr_t dst_addr, uint32_t dst_len, const RegisterValue ®_value)
Status SetValueFromData(const RegisterInfo ®_info, DataExtractor &data, lldb::offset_t offset, bool partial_data_ok)
bool Success() const
Test for success condition.
#define LLDB_INVALID_ADDRESS
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Process > ProcessSP
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
std::shared_ptr< lldb_private::WritableDataBuffer > WritableDataBufferSP
RegisterKind
Register numbering types.
@ eRegisterKindLLDB
lldb's internal register numbers
Every register is described in detail including its name, alternate name (optional),...
uint32_t byte_offset
The byte offset in the register context data where this register's value is found.
uint32_t byte_size
Size in bytes of the register.
uint32_t kinds[lldb::kNumRegisterKinds]
Holds all of the various register numbers for all register kinds.
Registers are grouped into register sets.