[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