[llvm-branch-commits] [lldb] [lldb] Implement delayed breakpoints (PR #192971)

Felipe de Azevedo Piovezan via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 29 05:20:23 PDT 2026


================
@@ -3541,6 +3567,20 @@ void PruneThreadPlans();
   /// GetExtendedCrashInformation.
   StructuredData::DictionarySP m_crash_info_dict_sp;
 
+  struct DelayedBreakpointCache {
+    void Enqueue(lldb::BreakpointSiteSP site, BreakpointAction action);
+    void RemoveSite(lldb::BreakpointSiteSP site) {
+      m_site_to_action.erase(site);
+    }
+    void Clear() { m_site_to_action.clear(); }
+
+    BreakpointSiteToActionMap m_site_to_action;
+  };
+
+  DelayedBreakpointCache m_delayed_breakpoints;
----------------
felipepiovezan wrote:

Ok, I've given this a try. There are three methods that need to be protected: `FlushDelayedBreakpoints`, `ExecuteBreakpointSiteAction`, and `IsBreakpointSiteEnabled`.

I looked into re-using the BreakpointSiteList mutex, but it felt too implicit to re-use the lock inside a different data structure, so I opted for a new one.

https://github.com/llvm/llvm-project/pull/192971


More information about the llvm-branch-commits mailing list