[Lldb-commits] [lldb] [lldb] Create dependent modules in parallel (PR #114507)
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Thu Oct 31 22:12:10 PDT 2024
https://github.com/jasonmolenda approved this pull request.
It took me a minute to understand how you were handling the locking of the dependent file list while iterating across it, but now I see it. You grab the lock at the beginning of the outer loop, then enqueue all of the not-yet-processed dependent binaries into asynchronous threads. They are all creating the Modules and then blocking to acquire the lock, to add their entries to the dependent files list. The inner loop finishes distributing things to the thread pool, releases its lock, and waits for all the just-started async jobs to complete. Then we are back in the outer loop which reads the size of the dependent file list.
https://github.com/llvm/llvm-project/pull/114507
More information about the lldb-commits
mailing list