LLDB mainline
lldb_private::RegisterContextUnifiedCore Class Reference

#include <RegisterContextUnifiedCore.h>

Inheritance diagram for lldb_private::RegisterContextUnifiedCore:
[legend]

Public Member Functions

 RegisterContextUnifiedCore (Thread &thread, uint32_t concrete_frame_idx, lldb::RegisterContextSP core_thread_regctx_sp, lldb_private::StructuredData::ObjectSP metadata_thread_registers)
void InvalidateAllRegisters () override
size_t GetRegisterCount () override
const lldb_private::RegisterInfoGetRegisterInfoAtIndex (size_t reg) override
size_t GetRegisterSetCount () override
const lldb_private::RegisterSetGetRegisterSet (size_t set) override
bool ReadRegister (const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue &value) override
bool WriteRegister (const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &value) override
Public Member Functions inherited from lldb_private::RegisterContext
 RegisterContext (Thread &thread, uint32_t concrete_frame_idx)
 ~RegisterContext () override
void InvalidateIfNeeded (bool force)
virtual lldb::ByteOrder GetByteOrder ()
virtual bool ReadAllRegisterValues (lldb::WritableDataBufferSP &data_sp)
virtual bool WriteAllRegisterValues (const lldb::DataBufferSP &data_sp)
virtual bool RegisterWriteCausesReconfigure (const llvm::StringRef name)
virtual bool ReconfigureRegisterInfo ()
virtual bool ReadAllRegisterValues (lldb_private::RegisterCheckpoint &reg_checkpoint)
virtual bool WriteAllRegisterValues (const lldb_private::RegisterCheckpoint &reg_checkpoint)
bool CopyFromRegisterContext (lldb::RegisterContextSP context)
virtual uint32_t ConvertRegisterKindToRegisterNumber (lldb::RegisterKind kind, uint32_t num)
 Convert from a given register numbering scheme to the lldb register numbering scheme.
virtual uint32_t NumSupportedHardwareBreakpoints ()
virtual uint32_t SetHardwareBreakpoint (lldb::addr_t addr, size_t size)
virtual bool ClearHardwareBreakpoint (uint32_t hw_idx)
virtual uint32_t NumSupportedHardwareWatchpoints ()
virtual uint32_t SetHardwareWatchpoint (lldb::addr_t addr, size_t size, bool read, bool write)
virtual bool ClearHardwareWatchpoint (uint32_t hw_index)
virtual bool HardwareSingleStep (bool enable)
virtual Status ReadRegisterValueFromMemory (const lldb_private::RegisterInfo *reg_info, lldb::addr_t src_addr, uint32_t src_len, RegisterValue &reg_value)
virtual Status WriteRegisterValueToMemory (const lldb_private::RegisterInfo *reg_info, lldb::addr_t dst_addr, uint32_t dst_len, const RegisterValue &reg_value)
virtual lldb::tid_t GetThreadID () const
virtual ThreadGetThread ()
const RegisterInfoGetRegisterInfoByName (llvm::StringRef reg_name, uint32_t start_idx=0)
const RegisterInfoGetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num)
uint64_t GetPC (uint64_t fail_value=LLDB_INVALID_ADDRESS)
uint64_t GetThreadPointer (uint64_t fail_value=LLDB_INVALID_ADDRESS)
bool GetPCForSymbolication (Address &address)
 Get an address suitable for symbolication.
bool SetPC (uint64_t pc)
bool SetPC (Address addr)
uint64_t GetSP (uint64_t fail_value=LLDB_INVALID_ADDRESS)
bool SetSP (uint64_t sp)
uint64_t GetFP (uint64_t fail_value=LLDB_INVALID_ADDRESS)
bool SetFP (uint64_t fp)
const char * GetRegisterName (uint32_t reg)
uint64_t GetReturnAddress (uint64_t fail_value=LLDB_INVALID_ADDRESS)
uint64_t GetFlags (uint64_t fail_value=0)
uint64_t ReadRegisterAsUnsigned (uint32_t reg, uint64_t fail_value)
uint64_t ReadRegisterAsUnsigned (const RegisterInfo *reg_info, uint64_t fail_value)
bool WriteRegisterFromUnsigned (uint32_t reg, uint64_t uval)
bool WriteRegisterFromUnsigned (const RegisterInfo *reg_info, uint64_t uval)
bool ConvertBetweenRegisterKinds (lldb::RegisterKind source_rk, uint32_t source_regnum, lldb::RegisterKind target_rk, uint32_t &target_regnum)
lldb::TargetSP CalculateTarget () override
lldb::ProcessSP CalculateProcess () override
lldb::ThreadSP CalculateThread () override
lldb::StackFrameSP CalculateStackFrame () override
void CalculateExecutionContext (ExecutionContext &exe_ctx) override
 Reconstruct the object's execution context into sc.
uint32_t GetStopID () const
void SetStopID (uint32_t stop_id)
Public Member Functions inherited from lldb_private::ExecutionContextScope
virtual ~ExecutionContextScope ()=default

Private Attributes

std::vector< lldb_private::RegisterSetm_register_sets
std::vector< lldb_private::RegisterInfom_register_infos
std::map< size_t, std::vector< uint32_t > > m_regset_regnum_collection
 For each register set, an array of register numbers included.
std::vector< uint8_t > m_register_data
 Bytes of the register contents.

Additional Inherited Members

Protected Member Functions inherited from lldb_private::RegisterContext
virtual bool BehavesLikeZerothFrame () const
 Indicates that this frame is currently executing code, that the PC value is not a return-pc but an actual executing instruction.
Protected Attributes inherited from lldb_private::RegisterContext
Threadm_thread
uint32_t m_concrete_frame_idx
uint32_t m_stop_id

Detailed Description

Definition at line 23 of file RegisterContextUnifiedCore.h.

Constructor & Destructor Documentation

◆ RegisterContextUnifiedCore()

Member Function Documentation

◆ GetRegisterCount()

size_t RegisterContextUnifiedCore::GetRegisterCount ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 259 of file RegisterContextUnifiedCore.cpp.

References m_register_infos.

◆ GetRegisterInfoAtIndex()

const RegisterInfo * RegisterContextUnifiedCore::GetRegisterInfoAtIndex ( size_t reg)
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 264 of file RegisterContextUnifiedCore.cpp.

References m_register_infos.

◆ GetRegisterSet()

const RegisterSet * RegisterContextUnifiedCore::GetRegisterSet ( size_t set)
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 274 of file RegisterContextUnifiedCore.cpp.

References m_register_sets.

◆ GetRegisterSetCount()

size_t RegisterContextUnifiedCore::GetRegisterSetCount ( )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 270 of file RegisterContextUnifiedCore.cpp.

References m_register_sets.

Referenced by RegisterContextUnifiedCore().

◆ InvalidateAllRegisters()

void lldb_private::RegisterContextUnifiedCore::InvalidateAllRegisters ( )
inlineoverridevirtual

Implements lldb_private::RegisterContext.

Definition at line 30 of file RegisterContextUnifiedCore.h.

◆ ReadRegister()

◆ WriteRegister()

bool RegisterContextUnifiedCore::WriteRegister ( const lldb_private::RegisterInfo * reg_info,
const lldb_private::RegisterValue & value )
overridevirtual

Implements lldb_private::RegisterContext.

Definition at line 308 of file RegisterContextUnifiedCore.cpp.

Member Data Documentation

◆ m_register_data

std::vector<uint8_t> lldb_private::RegisterContextUnifiedCore::m_register_data
private

Bytes of the register contents.

Definition at line 52 of file RegisterContextUnifiedCore.h.

Referenced by ReadRegister(), and RegisterContextUnifiedCore().

◆ m_register_infos

std::vector<lldb_private::RegisterInfo> lldb_private::RegisterContextUnifiedCore::m_register_infos
private

◆ m_register_sets

std::vector<lldb_private::RegisterSet> lldb_private::RegisterContextUnifiedCore::m_register_sets
private

◆ m_regset_regnum_collection

std::map<size_t, std::vector<uint32_t> > lldb_private::RegisterContextUnifiedCore::m_regset_regnum_collection
private

For each register set, an array of register numbers included.

Definition at line 50 of file RegisterContextUnifiedCore.h.

Referenced by RegisterContextUnifiedCore().


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