LLDB mainline
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
RegisterContextDarwin_arm64_Mach Class Reference
Inheritance diagram for RegisterContextDarwin_arm64_Mach:
Inheritance graph
[legend]

Public Member Functions

 RegisterContextDarwin_arm64_Mach (lldb_private::Thread &thread, const DataExtractor &data)
 
void InvalidateAllRegisters () override
 
void SetRegisterDataFrom_LC_THREAD (const DataExtractor &data)
 
- Public Member Functions inherited from RegisterContextDarwin_arm64
 RegisterContextDarwin_arm64 (lldb_private::Thread &thread, uint32_t concrete_frame_idx)
 
 ~RegisterContextDarwin_arm64 () override
 
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 &reg_value) override
 
bool WriteRegister (const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &reg_value) override
 
bool ReadAllRegisterValues (lldb::WritableDataBufferSP &data_sp) override
 
bool WriteAllRegisterValues (const lldb::DataBufferSP &data_sp) override
 
uint32_t ConvertRegisterKindToRegisterNumber (lldb::RegisterKind kind, uint32_t num) override
 Convert from a given register numbering scheme to the lldb register numbering scheme.
 
uint32_t NumSupportedHardwareWatchpoints () override
 
uint32_t SetHardwareWatchpoint (lldb::addr_t addr, size_t size, bool read, bool write) override
 
bool ClearHardwareWatchpoint (uint32_t hw_index) override
 
- Public Member Functions inherited from lldb_private::RegisterContext
 RegisterContext (Thread &thread, uint32_t concrete_frame_idx)
 
 ~RegisterContext () override
 
void InvalidateIfNeeded (bool force)
 
virtual void InvalidateAllRegisters ()=0
 
virtual size_t GetRegisterCount ()=0
 
virtual const RegisterInfoGetRegisterInfoAtIndex (size_t reg)=0
 
virtual size_t GetRegisterSetCount ()=0
 
virtual const RegisterSetGetRegisterSet (size_t reg_set)=0
 
virtual lldb::ByteOrder GetByteOrder ()
 
virtual bool ReadRegister (const RegisterInfo *reg_info, RegisterValue &reg_value)=0
 
virtual bool WriteRegister (const RegisterInfo *reg_info, const RegisterValue &reg_value)=0
 
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
 
virtual lldb::TargetSP CalculateTarget ()=0
 
virtual lldb::ProcessSP CalculateProcess ()=0
 
virtual lldb::ThreadSP CalculateThread ()=0
 
virtual lldb::StackFrameSP CalculateStackFrame ()=0
 
virtual void CalculateExecutionContext (ExecutionContext &exe_ctx)=0
 Reconstruct the object's execution context into sc.
 

Static Public Member Functions

static bool Create_LC_THREAD (Thread *thread, Stream &data)
 
- Static Public Member Functions inherited from RegisterContextDarwin_arm64
static void LogDBGRegisters (lldb_private::Log *log, const DBG &dbg)
 

Protected Member Functions

int DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr) override
 
int DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu) override
 
int DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc) override
 
int DoReadDBG (lldb::tid_t tid, int flavor, DBG &dbg) override
 
int DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr) override
 
int DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu) override
 
int DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc) override
 
int DoWriteDBG (lldb::tid_t tid, int flavor, const DBG &dbg) override
 
- Protected Member Functions inherited from RegisterContextDarwin_arm64
void InvalidateAllRegisterStates ()
 
int GetError (int flavor, uint32_t err_idx) const
 
bool SetError (int flavor, uint32_t err_idx, int err)
 
bool RegisterSetIsCached (int set) const
 
int ReadGPR (bool force)
 
int ReadFPU (bool force)
 
int ReadEXC (bool force)
 
int ReadDBG (bool force)
 
int WriteGPR ()
 
int WriteFPU ()
 
int WriteEXC ()
 
int WriteDBG ()
 
virtual int DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr)
 
virtual int DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu)=0
 
virtual int DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc)=0
 
virtual int DoReadDBG (lldb::tid_t tid, int flavor, DBG &dbg)=0
 
virtual int DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr)=0
 
virtual int DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu)=0
 
virtual int DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc)=0
 
virtual int DoWriteDBG (lldb::tid_t tid, int flavor, const DBG &dbg)=0
 
int ReadRegisterSet (uint32_t set, bool force)
 
int WriteRegisterSet (uint32_t set)
 
- 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.
 

Additional Inherited Members

- Protected Types inherited from RegisterContextDarwin_arm64
enum  { GPRRegSet = 6 , FPURegSet = 17 , EXCRegSet = 7 , DBGRegSet = 15 }
 
enum  { GPRWordCount = sizeof(GPR) / sizeof(uint32_t) , FPUWordCount = sizeof(FPU) / sizeof(uint32_t) , EXCWordCount , DBGWordCount = sizeof(DBG) / sizeof(uint32_t) }
 
enum  { Read = 0 , Write = 1 , kNumErrors = 2 }
 
- Static Protected Member Functions inherited from RegisterContextDarwin_arm64
static uint32_t GetRegisterNumber (uint32_t reg_kind, uint32_t reg_num)
 
static int GetSetForNativeRegNum (int reg_num)
 
static size_t GetRegisterInfosCount ()
 
static const lldb_private::RegisterInfoGetRegisterInfos ()
 
- Protected Attributes inherited from RegisterContextDarwin_arm64
GPR gpr
 
FPU fpu
 
EXC exc
 
DBG dbg
 
int gpr_errs [2]
 
int fpu_errs [2]
 
int exc_errs [2]
 
int dbg_errs [2]
 
- 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 625 of file ObjectFileMachO.cpp.

Constructor & Destructor Documentation

◆ RegisterContextDarwin_arm64_Mach()

RegisterContextDarwin_arm64_Mach::RegisterContextDarwin_arm64_Mach ( lldb_private::Thread thread,
const DataExtractor data 
)
inline

Definition at line 627 of file ObjectFileMachO.cpp.

References SetRegisterDataFrom_LC_THREAD().

Member Function Documentation

◆ Create_LC_THREAD()

static bool RegisterContextDarwin_arm64_Mach::Create_LC_THREAD ( Thread thread,
Stream data 
)
inlinestatic

◆ DoReadDBG()

int RegisterContextDarwin_arm64_Mach::DoReadDBG ( lldb::tid_t  tid,
int  flavor,
DBG dbg 
)
inlineoverrideprotectedvirtual

Implements RegisterContextDarwin_arm64.

Definition at line 753 of file ObjectFileMachO.cpp.

◆ DoReadEXC()

int RegisterContextDarwin_arm64_Mach::DoReadEXC ( lldb::tid_t  tid,
int  flavor,
EXC exc 
)
inlineoverrideprotectedvirtual

Implements RegisterContextDarwin_arm64.

Definition at line 751 of file ObjectFileMachO.cpp.

◆ DoReadFPU()

int RegisterContextDarwin_arm64_Mach::DoReadFPU ( lldb::tid_t  tid,
int  flavor,
FPU fpu 
)
inlineoverrideprotectedvirtual

Implements RegisterContextDarwin_arm64.

Definition at line 749 of file ObjectFileMachO.cpp.

◆ DoReadGPR()

int RegisterContextDarwin_arm64_Mach::DoReadGPR ( lldb::tid_t  tid,
int  flavor,
GPR gpr 
)
inlineoverrideprotectedvirtual

Reimplemented from RegisterContextDarwin_arm64.

Definition at line 747 of file ObjectFileMachO.cpp.

◆ DoWriteDBG()

int RegisterContextDarwin_arm64_Mach::DoWriteDBG ( lldb::tid_t  tid,
int  flavor,
const DBG dbg 
)
inlineoverrideprotectedvirtual

Implements RegisterContextDarwin_arm64.

Definition at line 767 of file ObjectFileMachO.cpp.

◆ DoWriteEXC()

int RegisterContextDarwin_arm64_Mach::DoWriteEXC ( lldb::tid_t  tid,
int  flavor,
const EXC exc 
)
inlineoverrideprotectedvirtual

Implements RegisterContextDarwin_arm64.

Definition at line 763 of file ObjectFileMachO.cpp.

◆ DoWriteFPU()

int RegisterContextDarwin_arm64_Mach::DoWriteFPU ( lldb::tid_t  tid,
int  flavor,
const FPU fpu 
)
inlineoverrideprotectedvirtual

Implements RegisterContextDarwin_arm64.

Definition at line 759 of file ObjectFileMachO.cpp.

◆ DoWriteGPR()

int RegisterContextDarwin_arm64_Mach::DoWriteGPR ( lldb::tid_t  tid,
int  flavor,
const GPR gpr 
)
inlineoverrideprotectedvirtual

Implements RegisterContextDarwin_arm64.

Definition at line 755 of file ObjectFileMachO.cpp.

◆ InvalidateAllRegisters()

void RegisterContextDarwin_arm64_Mach::InvalidateAllRegisters ( )
inlineoverridevirtual

Implements lldb_private::RegisterContext.

Definition at line 633 of file ObjectFileMachO.cpp.

◆ SetRegisterDataFrom_LC_THREAD()

void RegisterContextDarwin_arm64_Mach::SetRegisterDataFrom_LC_THREAD ( const DataExtractor data)
inline

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