[Lldb-commits] [lldb] Improving performance of multiple threads stepping over the same brea… (PR #180101)

via lldb-commits lldb-commits at lists.llvm.org
Thu Feb 12 10:18:52 PST 2026


================
@@ -589,14 +621,69 @@ bool ThreadList::WillResume(RunDirection &direction) {
           assert(thread_sp->GetCurrentPlan()->GetDirection() == direction);
           // You can't say "stop others" and also want yourself to be suspended.
           assert(thread_sp->GetCurrentPlan()->RunState() != eStateSuspended);
+
----------------
barsolo2000 wrote:

@jimingham The `SetupToStepOverBreakpointIfNeeded` call is present in the else branch loop (line 617) The flow is: (1) clean up stale plans at the top of WillResume, (2) in the else branch, call `SetupToStepOverBreakpointIfNeeded` on each thread which creates fresh StepOverBreakpoint plans, (3) immediately group those fresh plans by breakpoint address. So by the time we check `GetKind() == eKindStepOverBreakpoint` at line 628, the plan was just created a few lines above. The loop is doing the setup, grouping, and priority detection all in a single pass.

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


More information about the lldb-commits mailing list