RegisterContext.h (258054) | RegisterContext.h (258884) |
---|---|
1//===-- RegisterContext.h ---------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 45 unchanged lines hidden (view full) --- 54 GetRegisterSet (size_t reg_set) = 0; 55 56 virtual bool 57 ReadRegister (const RegisterInfo *reg_info, RegisterValue ®_value) = 0; 58 59 virtual bool 60 WriteRegister (const RegisterInfo *reg_info, const RegisterValue ®_value) = 0; 61 | 1//===-- RegisterContext.h ---------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 45 unchanged lines hidden (view full) --- 54 GetRegisterSet (size_t reg_set) = 0; 55 56 virtual bool 57 ReadRegister (const RegisterInfo *reg_info, RegisterValue ®_value) = 0; 58 59 virtual bool 60 WriteRegister (const RegisterInfo *reg_info, const RegisterValue ®_value) = 0; 61 |
62 virtual bool 63 ReadAllRegisterValues (lldb::DataBufferSP &data_sp) 64 { 65 return false; 66 } 67 68 virtual bool 69 WriteAllRegisterValues (const lldb::DataBufferSP &data_sp) 70 { 71 return false; 72 } 73 |
|
62 // These two functions are used to implement "push" and "pop" of register states. They are used primarily 63 // for expression evaluation, where we need to push a new state (storing the old one in data_sp) and then 64 // restoring the original state by passing the data_sp we got from ReadAllRegisters to WriteAllRegisterValues. 65 // ReadAllRegisters will do what is necessary to return a coherent set of register values for this thread, which 66 // may mean e.g. interrupting a thread that is sitting in a kernel trap. That is a somewhat disruptive operation, 67 // so these API's should only be used when this behavior is needed. 68 69 virtual bool | 74 // These two functions are used to implement "push" and "pop" of register states. They are used primarily 75 // for expression evaluation, where we need to push a new state (storing the old one in data_sp) and then 76 // restoring the original state by passing the data_sp we got from ReadAllRegisters to WriteAllRegisterValues. 77 // ReadAllRegisters will do what is necessary to return a coherent set of register values for this thread, which 78 // may mean e.g. interrupting a thread that is sitting in a kernel trap. That is a somewhat disruptive operation, 79 // so these API's should only be used when this behavior is needed. 80 81 virtual bool |
70 ReadAllRegisterValues (lldb::DataBufferSP &data_sp) = 0; 71 | 82 ReadAllRegisterValues (lldb_private::RegisterCheckpoint ®_checkpoint); 83 |
72 virtual bool | 84 virtual bool |
73 WriteAllRegisterValues (const lldb::DataBufferSP &data_sp) = 0; | 85 WriteAllRegisterValues (const lldb_private::RegisterCheckpoint ®_checkpoint); |
74 75 bool 76 CopyFromRegisterContext (lldb::RegisterContextSP context); 77 78 virtual uint32_t 79 ConvertRegisterKindToRegisterNumber (uint32_t kind, uint32_t num) = 0; 80 81 //------------------------------------------------------------------ --- 137 unchanged lines hidden --- | 86 87 bool 88 CopyFromRegisterContext (lldb::RegisterContextSP context); 89 90 virtual uint32_t 91 ConvertRegisterKindToRegisterNumber (uint32_t kind, uint32_t num) = 0; 92 93 //------------------------------------------------------------------ --- 137 unchanged lines hidden --- |