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

David Spickett via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Apr 27 02:01:07 PDT 2026


================
@@ -1654,6 +1704,31 @@ static addr_t ComputeConstituentLoadAddress(BreakpointLocation &constituent,
   return resolved_address.GetOpcodeLoadAddress(&target);
 }
 
+llvm::Error Process::FlushDelayedBreakpoints() {
+  // Clear the cache in m_delayed_breakpoints so it can't affect the actual
+  // enabling of breakpoints. For
+  // example, if `EnableSoftwareBreakpoint` is called outside of
+  // FlushDelayedBreakpoints, it needs to check the delayed breakpoints and
+  // possibly early return. However, when called from FlushDelayedBreakpoints,
+  // the queue better be empty so that no early returns take place.
+  auto site_to_action = std::move(m_delayed_breakpoints.m_site_to_action);
----------------
DavidSpickett wrote:

What exactly is the purpose of move here?

I am wary of a use after move with m_site_to_action later. std::map might be ok with this but I don't know if it has to be the case.

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


More information about the llvm-branch-commits mailing list