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

Public Member Functions

 RegisterContextDarwin_x86_64_Mach (lldb_private::Thread &thread, const DataExtractor &data)
 
void InvalidateAllRegisters () override
 
void SetRegisterDataFrom_LC_THREAD (const DataExtractor &data)
 
- Public Member Functions inherited from RegisterContextDarwin_x86_64
 RegisterContextDarwin_x86_64 (lldb_private::Thread &thread, uint32_t concrete_frame_idx)
 
 ~RegisterContextDarwin_x86_64 () override
 
void InvalidateAllRegisters () override
 
size_t GetRegisterCount () override
 
const lldb_private::RegisterInfo * GetRegisterInfoAtIndex (size_t reg) override
 
size_t GetRegisterSetCount () override
 
const lldb_private::RegisterSet * GetRegisterSet (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
 
bool ReadAllRegisterValues (lldb::DataBufferSP &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. More...
 
bool HardwareSingleStep (bool enable) override
 
- Public Member Functions inherited from lldb_private::RegisterContext
 RegisterContext (Thread &thread, uint32_t concrete_frame_idx)
 
 ~RegisterContext () override
 
void InvalidateIfNeeded (bool force)
 
uint32_t UpdateDynamicRegisterSize (const lldb_private::ArchSpec &arch, RegisterInfo *reg_info)
 
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_private::RegisterCheckpoint &reg_checkpoint)
 
virtual bool WriteAllRegisterValues (const lldb_private::RegisterCheckpoint &reg_checkpoint)
 
bool CopyFromRegisterContext (lldb::RegisterContextSP context)
 
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 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 RegisterInfo * GetRegisterInfoByName (llvm::StringRef reg_name, uint32_t start_idx=0)
 
const RegisterInfo * GetRegisterInfo (lldb::RegisterKind reg_kind, uint32_t reg_num)
 
uint64_t GetPC (uint64_t fail_value=LLDB_INVALID_ADDRESS)
 
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. More...
 
uint32_t GetStopID () const
 
void SetStopID (uint32_t stop_id)
 
- Public Member Functions inherited from lldb_private::ExecutionContextScope
virtual ~ExecutionContextScope ()
 

Static Public Member Functions

static size_t WriteRegister (RegisterContext *reg_ctx, const char *name, const char *alt_name, size_t reg_byte_size, Stream &data)
 
static bool Create_LC_THREAD (Thread *thread, Stream &data)
 

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 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
 
- Protected Member Functions inherited from RegisterContextDarwin_x86_64
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
 
void LogGPR (lldb_private::Log *log, const char *format,...)
 
int ReadGPR (bool force)
 
int ReadFPU (bool force)
 
int ReadEXC (bool force)
 
int WriteGPR ()
 
int WriteFPU ()
 
int WriteEXC ()
 
int ReadRegisterSet (uint32_t set, bool force)
 
int WriteRegisterSet (uint32_t set)
 

Additional Inherited Members

- Protected Types inherited from RegisterContextDarwin_x86_64
enum  { GPRRegSet = 4, FPURegSet = 5, EXCRegSet = 6 }
 
enum  { GPRWordCount = sizeof(GPR) / sizeof(uint32_t), FPUWordCount = sizeof(FPU) / sizeof(uint32_t), EXCWordCount = sizeof(EXC) / sizeof(uint32_t) }
 
enum  { Read = 0, Write = 1, kNumErrors = 2 }
 
- Static Protected Member Functions inherited from RegisterContextDarwin_x86_64
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::RegisterInfo * GetRegisterInfos ()
 
- Protected Attributes inherited from RegisterContextDarwin_x86_64
GPR gpr
 
FPU fpu
 
EXC exc
 
int gpr_errs [2]
 
int fpu_errs [2]
 
int exc_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 111 of file ObjectFileMachO.cpp.

Constructor & Destructor Documentation

◆ RegisterContextDarwin_x86_64_Mach()

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

Definition at line 113 of file ObjectFileMachO.cpp.

Member Function Documentation

◆ Create_LC_THREAD()

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

◆ DoReadEXC()

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

Implements RegisterContextDarwin_x86_64.

Definition at line 327 of file ObjectFileMachO.cpp.

◆ DoReadFPU()

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

Implements RegisterContextDarwin_x86_64.

Definition at line 325 of file ObjectFileMachO.cpp.

◆ DoReadGPR()

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

Implements RegisterContextDarwin_x86_64.

Definition at line 323 of file ObjectFileMachO.cpp.

◆ DoWriteEXC()

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

Implements RegisterContextDarwin_x86_64.

Definition at line 337 of file ObjectFileMachO.cpp.

◆ DoWriteFPU()

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

Implements RegisterContextDarwin_x86_64.

Definition at line 333 of file ObjectFileMachO.cpp.

◆ DoWriteGPR()

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

Implements RegisterContextDarwin_x86_64.

Definition at line 329 of file ObjectFileMachO.cpp.

◆ InvalidateAllRegisters()

void RegisterContextDarwin_x86_64_Mach::InvalidateAllRegisters ( )
inlineoverridevirtual

Implements lldb_private::RegisterContext.

Definition at line 119 of file ObjectFileMachO.cpp.

◆ SetRegisterDataFrom_LC_THREAD()

void RegisterContextDarwin_x86_64_Mach::SetRegisterDataFrom_LC_THREAD ( const DataExtractor data)
inline

◆ WriteRegister()

static size_t RegisterContextDarwin_x86_64_Mach::WriteRegister ( RegisterContext reg_ctx,
const char *  name,
const char *  alt_name,
size_t  reg_byte_size,
Stream data 
)
inlinestatic

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