[Lldb-commits] [lldb] [lldb] New expedited register specfication for unavailable regs (PR #193894)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Mon May 4 23:02:12 PDT 2026
================
@@ -41,27 +41,46 @@ GDBRemoteRegisterContext::GDBRemoteRegisterContext(
// Resize our vector of bools to contain one bool for every register. We will
// use these boolean values to know when a register value is valid in
// m_reg_data.
- m_reg_valid.resize(m_reg_info_sp->GetNumRegisters());
+ m_reg_valid.resize(m_reg_info_sp->GetNumRegisters(), eLazyBoolCalculate);
// Make a heap based buffer that is big enough to store all registers
- DataBufferSP reg_data_sp(
- new DataBufferHeap(m_reg_info_sp->GetRegisterDataByteSize(), 0));
+ DataBufferSP reg_data_sp(new DataBufferHeap(
+ m_reg_info_sp->GetRegisterDataByteSize(), eLazyBoolCalculate));
m_reg_data.SetData(reg_data_sp);
m_reg_data.SetByteOrder(thread.GetProcess()->GetByteOrder());
}
// Destructor
GDBRemoteRegisterContext::~GDBRemoteRegisterContext() = default;
-void GDBRemoteRegisterContext::InvalidateAllRegisters() {
- SetAllRegisterValid(false);
+void GDBRemoteRegisterContext::SetAllRegistersValidState(LazyBool valid) {
+ if (valid == eLazyBoolYes)
+ m_gpacket_cached = true;
+ else
+ m_gpacket_cached = false;
----------------
JDevlieghere wrote:
```suggestion
m_gpacket_cached = (valid == eLazyBoolYes);
```
https://github.com/llvm/llvm-project/pull/193894
More information about the lldb-commits
mailing list