Go to the documentation of this file.
110 for (
int i = 0; i < 17; ++i)
113 for (
int i = 0; i < 32; ++i)
116 for (
int i = 0; i < 16; ++i)
130 std::map<lldb::addr_t, uint32_t>::iterator pos;
136 ret_val = pos->second;
158 value = llvm::ByteSwap_32(value);
160 }
else if (length == 8) {
170 value1 = llvm::ByteSwap_32(value1);
171 value2 = llvm::ByteSwap_32(value2);
187 const void *dst,
size_t length) {
195 memcpy (&value, dst,
sizeof (
uint32_t));
197 value = llvm::ByteSwap_32(value);
201 }
else if (length == 8) {
204 memcpy (&value1, dst,
sizeof (
uint32_t));
205 memcpy(&value2,
static_cast<const uint8_t *
>(dst) +
sizeof(
uint32_t),
208 value1 = llvm::ByteSwap_32(value1);
209 value2 = llvm::ByteSwap_32(value2);
222 const lldb_private::RegisterInfo *reg_info,
224 if (!baton || !reg_info)
235 success = reg_value.
SetUInt(reg_uval, reg_info->byte_size);
242 const lldb_private::RegisterInfo *reg_info,
244 if (!baton || !reg_info)
257 for (
int i = 0; match && i < 17; ++i) {
262 for (
int i = 0; match && i < 32; ++i) {
267 for (
int i = 0; match && i < 16; ++i) {
287 if (value_sp.get() !=
nullptr) {
290 uint64_t start_address = 0;
294 if (value_sp.get() ==
nullptr)
297 start_address = value_sp->GetUInt64Value();
307 for (
uint32_t i = 0; i < num_elts; ++i) {
309 if (value_sp.get() ==
nullptr)
311 uint64_t value = value_sp->GetUInt64Value();
313 address = address + 4;
318 if (value_sp.get() ==
nullptr)
326 for (
int i = 0; i < 16; ++i) {
331 if (value_sp.get() ==
nullptr)
333 uint64_t reg_value = value_sp->GetUInt64Value();
339 if (value_sp.get() ==
nullptr)
344 for (
int i = 0; i < 32; ++i) {
349 if (value_sp.get() ==
nullptr)
351 uint64_t reg_value = value_sp->GetUInt64Value();
lldb::OptionValueSP GetValueForKey(ConstString key) const
OptionValueDictionary * GetAsDictionary()
#define LLDB_INVALID_REGNUM
@ eRegisterKindDWARF
the register numbers seen DWARF
virtual bool ReadRegister(const RegisterInfo *reg_info, RegisterValue ®_value)=0
virtual uint32_t ConvertRegisterKindToRegisterNumber(lldb::RegisterKind kind, uint32_t num)
Convert from a given register numbering scheme to the lldb register numbering scheme.
lldb::OptionValueSP GetValueAtIndex(size_t idx) const
std::map< lldb::addr_t, uint32_t > m_memory
bool LoadStateFromDictionary(lldb_private::OptionValueDictionary *test_data)
static size_t ReadPseudoMemory(lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::EmulateInstruction::Context &context, lldb::addr_t addr, void *dst, size_t length)
bool StoreToPseudoAddress(lldb::addr_t p_address, uint32_t value)
static bool ReadPseudoRegister(lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue ®_value)
OptionValueArray * GetAsArray()
virtual const RegisterInfo * GetRegisterInfoAtIndex(size_t reg)=0
void ClearPseudoRegisters()
uint32_t ReadFromPseudoAddress(lldb::addr_t p_address, bool &success)
llvm::StringRef GetString() const
uint64_t GetAsUInt64(uint64_t fail_value=UINT64_MAX, bool *success_ptr=nullptr) const
bool LoadPseudoRegistersFromFrame(lldb_private::StackFrame &frame)
struct EmulationStateARM::_sd_regs m_vfp_regs
bool StorePseudoRegisterValue(uint32_t reg_num, uint64_t value)
static size_t WritePseudoMemory(lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::EmulateInstruction::Context &context, lldb::addr_t addr, const void *dst, size_t length)
bool SetUInt(uint64_t uint, uint32_t byte_size)
lldb::ByteOrder InlHostByteOrder()
virtual ~EmulationStateARM()
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
A class that represents a running process on the host machine.
lldb::RegisterContextSP GetRegisterContext()
Get the RegisterContext for this frame, if possible.
uint32_t GetAsUInt32(uint32_t fail_value=UINT32_MAX, bool *success_ptr=nullptr) const
static bool WritePseudoRegister(lldb_private::EmulateInstruction *instruction, void *baton, const lldb_private::EmulateInstruction::Context &context, const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue ®_value)
uint64_t ReadPseudoRegisterValue(uint32_t reg_num, bool &success)
bool CompareState(EmulationStateARM &other_state)