[Lldb-commits] [PATCH] D123226: [lldb] use one shared ThreadPool and task groups

Alexandre Ganea via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Apr 6 13:25:52 PDT 2022


aganea added inline comments.


================
Comment at: lldb/source/Core/Debugger.cpp:1969
+llvm::ThreadPool &Debugger::GetThreadPool() {
+  static llvm::ThreadPool threadpool(llvm::optimal_concurrency());
+  return threadpool;
----------------
Ideally this should be explicitly created on the stack & passed along on the callstack or in a context, like MLIR does: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/IR/MLIRContext.h#L48


================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp:127
 
-  pool.async(finalize_fn, &IndexSet::function_basenames);
-  pool.async(finalize_fn, &IndexSet::function_fullnames);
-  pool.async(finalize_fn, &IndexSet::function_methods);
-  pool.async(finalize_fn, &IndexSet::function_selectors);
-  pool.async(finalize_fn, &IndexSet::objc_class_selectors);
-  pool.async(finalize_fn, &IndexSet::globals);
-  pool.async(finalize_fn, &IndexSet::types);
-  pool.async(finalize_fn, &IndexSet::namespaces);
-  pool.wait();
+  pool.async(group, finalize_fn, &IndexSet::function_basenames);
+  pool.async(group, finalize_fn, &IndexSet::function_fullnames);
----------------
Like suggested in D123225, wouldn't it be better if we had `group.async(finalize_fn, &IndexSet::function_basenames)`? Same for the waits: `group.wait();`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123226/new/

https://reviews.llvm.org/D123226



More information about the lldb-commits mailing list