Deleted Added
full compact
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 &reg_value) = 0;
58
59 virtual bool
60 WriteRegister (const RegisterInfo *reg_info, const RegisterValue &reg_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 &reg_value) = 0;
58
59 virtual bool
60 WriteRegister (const RegisterInfo *reg_info, const RegisterValue &reg_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 &reg_checkpoint);
83
72 virtual bool
84 virtual bool
73 WriteAllRegisterValues (const lldb::DataBufferSP &data_sp) = 0;
85 WriteAllRegisterValues (const lldb_private::RegisterCheckpoint &reg_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 ---