Lines Matching refs:reg_info

34     GDBRemoteDynamicRegisterInfo &reg_info, bool read_all_at_once,
36 : RegisterContext(thread, concrete_frame_idx), m_reg_info(reg_info),
42 m_reg_valid.resize(reg_info.GetNumRegisters());
46 new DataBufferHeap(reg_info.GetRegisterDataByteSize(), 0));
70 RegisterInfo *reg_info = m_reg_info.GetRegisterInfoAtIndex(reg);
72 if (reg_info && reg_info->dynamic_size_dwarf_expr_bytes) {
74 uint8_t reg_size = UpdateDynamicRegisterSize(arch, reg_info);
75 reg_info->byte_size = reg_size;
77 return reg_info;
88 bool GDBRemoteRegisterContext::ReadRegister(const RegisterInfo *reg_info,
91 if (ReadRegisterBytes(reg_info, m_reg_data)) {
92 const uint32_t reg = reg_info->kinds[eRegisterKindLLDB];
97 reg_info, m_reg_data, reg_info->byte_offset, partial_data_ok));
105 const RegisterInfo *reg_info = GetRegisterInfoAtIndex(reg);
106 if (reg_info == nullptr)
112 const size_t reg_byte_size = reg_info->byte_size;
114 m_reg_data.PeekData(reg_info->byte_offset, reg_byte_size)),
129 const RegisterInfo *reg_info = GetRegisterInfoAtIndex(reg);
130 if (reg_info == nullptr)
149 if (m_reg_data.GetByteSize() < reg_info->byte_offset + reg_info->byte_size)
154 m_reg_data.PeekData(reg_info->byte_offset, reg_info->byte_size));
160 reg_info->byte_size, // src length
162 reg_info->byte_size, // dst length
173 const RegisterInfo *reg_info, GDBRemoteCommunicationClient &gdb_comm) {
174 const uint32_t lldb_reg = reg_info->kinds[eRegisterKindLLDB];
175 const uint32_t remote_reg = reg_info->kinds[eRegisterKindProcessPlugin];
185 bool GDBRemoteRegisterContext::ReadRegisterBytes(const RegisterInfo *reg_info,
199 const uint32_t reg = reg_info->kinds[eRegisterKindLLDB];
238 if (reg_info->value_regs) {
245 const uint32_t prim_reg = reg_info->value_regs[idx];
263 SetRegisterIsValid(reg_info, true);
267 GetPrimordialRegister(reg_info, gdb_comm);
277 reg_info->byte_offset + reg_info->byte_size);
280 if (m_reg_data.GetByteSize() < reg_info->byte_offset + reg_info->byte_size)
289 data.SetData(m_reg_data, reg_info->byte_offset, reg_info->byte_size);
294 bool GDBRemoteRegisterContext::WriteRegister(const RegisterInfo *reg_info,
298 return WriteRegisterBytes(reg_info, data, 0);
304 const RegisterInfo *reg_info, GDBRemoteCommunicationClient &gdb_comm) {
307 const uint32_t reg = reg_info->kinds[eRegisterKindLLDB];
312 m_thread.GetProtocolID(), reg_info->kinds[eRegisterKindProcessPlugin],
313 {m_reg_data.PeekData(reg_info->byte_offset, reg_info->byte_size),
314 reg_info->byte_size});
317 bool GDBRemoteRegisterContext::WriteRegisterBytes(const RegisterInfo *reg_info,
331 reg_info->byte_offset + reg_info->byte_size);
335 if (m_reg_data.GetByteSize() < reg_info->byte_offset + reg_info->byte_size)
340 m_reg_data.PeekData(reg_info->byte_offset, reg_info->byte_size));
346 reg_info->byte_size, // src length
348 reg_info->byte_size, // dst length
369 if (reg_info->value_regs) {
378 const uint32_t reg = reg_info->value_regs[idx];
391 success = SetPrimordialRegister(reg_info, gdb_comm);
396 if (reg_info->invalidate_regs) {
397 for (uint32_t idx = 0, reg = reg_info->invalidate_regs[0];
399 reg = reg_info->invalidate_regs[++idx]) {
416 reg_info->name, strm.GetData());
421 reg_info->name);
497 const RegisterInfo *reg_info;
499 for (uint32_t i = 0; (reg_info = GetRegisterInfoAtIndex(i)) != nullptr;
501 if (reg_info
504 ReadRegisterBytes(reg_info, m_reg_data);
567 const RegisterInfo *reg_info;
585 (reg_info = GetRegisterInfoAtIndex(reg_idx)) != nullptr; ++reg_idx) {
586 size_including_slice_registers += reg_info->byte_size;
587 if (reg_info->value_regs == nullptr)
588 size_not_including_slice_registers += reg_info->byte_size;
589 if (reg_info->byte_offset >= size_by_highest_offset)
590 size_by_highest_offset = reg_info->byte_offset + reg_info->byte_size;
619 (reg_info = GetRegisterInfoAtIndex(reg_idx)) != nullptr;
620 ++reg_idx, running_byte_offset += reg_info->byte_size) {
622 if (reg_info->value_regs)
625 const uint32_t reg = reg_info->kinds[eRegisterKindLLDB];
629 register_offset = reg_info->byte_offset;
634 const uint32_t reg_byte_size = reg_info->byte_size;
642 reg_info->kinds[eRegisterKindProcessPlugin],
666 const RegisterInfo *reg_info;
667 for (uint32_t i = 0; (reg_info = GetRegisterInfoAtIndex(i)) != nullptr;
669 if (reg_info->value_regs) // skip registers that are slices of real
675 if (arm64_debugserver && (strcmp(reg_info->name, "fpsr") == 0 ||
676 strcmp(reg_info->name, "fpcr") == 0)) {
680 SetRegisterIsValid(reg_info, false);
682 reg_info->kinds[eRegisterKindProcessPlugin],
683 {data_sp->GetBytes() + reg_info->byte_offset,
684 reg_info->byte_size}))
970 const RegisterInfo *reg_info = GetRegisterInfoAtIndex(j);
972 if (reg_info && reg_info->name &&
973 ::strcasecmp(reg_info->name, reg_name) == 0) {
976 g_comp_register_infos[i].byte_offset = reg_info->byte_offset;