[Lldb-commits] [lldb] r304924 - Switch TaskMapOverInt to llvm::function_ref
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Wed Jun 7 09:28:09 PDT 2017
Author: labath
Date: Wed Jun 7 11:28:08 2017
New Revision: 304924
URL: http://llvm.org/viewvc/llvm-project?rev=304924&view=rev
Log:
Switch TaskMapOverInt to llvm::function_ref
The function does not persist the callback, so using a lighter-weight
asbtraction seems appropriate.
Also tweak the signatures of the lambdas to match what the TaskMap
interface expects.
Modified:
lldb/trunk/include/lldb/Utility/TaskPool.h
lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
lldb/trunk/source/Utility/TaskPool.cpp
Modified: lldb/trunk/include/lldb/Utility/TaskPool.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Utility/TaskPool.h?rev=304924&r1=304923&r2=304924&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Utility/TaskPool.h (original)
+++ lldb/trunk/include/lldb/Utility/TaskPool.h Wed Jun 7 11:28:08 2017
@@ -10,6 +10,7 @@
#ifndef utility_TaskPool_h_
#define utility_TaskPool_h_
+#include "llvm/ADT/STLExtras.h"
#include <functional> // for bind, function
#include <future>
#include <list>
@@ -86,6 +87,6 @@ template <> struct TaskPool::RunTaskImpl
// 'batch_size' numbers at a time to work on, so for very fast functions, batch
// should be large enough to avoid too much cache line contention.
void TaskMapOverInt(size_t begin, size_t end,
- std::function<void(size_t)> const &func);
+ const llvm::function_ref<void(size_t)> &func);
#endif // #ifndef utility_TaskPool_h_
Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp?rev=304924&r1=304923&r2=304924&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp Wed Jun 7 11:28:08 2017
@@ -1958,7 +1958,7 @@ void SymbolFileDWARF::Index() {
&function_fullname_index, &function_method_index,
&function_selector_index, &objc_class_selectors_index,
&global_index, &type_index,
- &namespace_index](uint32_t cu_idx) {
+ &namespace_index](size_t cu_idx) {
DWARFCompileUnit *dwarf_cu = debug_info->GetCompileUnitAtIndex(cu_idx);
if (dwarf_cu) {
dwarf_cu->Index(
@@ -1967,10 +1967,9 @@ void SymbolFileDWARF::Index() {
objc_class_selectors_index[cu_idx], global_index[cu_idx],
type_index[cu_idx], namespace_index[cu_idx]);
}
- return cu_idx;
};
- auto extract_fn = [debug_info, &clear_cu_dies](uint32_t cu_idx) {
+ auto extract_fn = [debug_info, &clear_cu_dies](size_t cu_idx) {
DWARFCompileUnit *dwarf_cu = debug_info->GetCompileUnitAtIndex(cu_idx);
if (dwarf_cu) {
// dwarf_cu->ExtractDIEsIfNeeded(false) will return zero if the
Modified: lldb/trunk/source/Utility/TaskPool.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Utility/TaskPool.cpp?rev=304924&r1=304923&r2=304924&view=diff
==============================================================================
--- lldb/trunk/source/Utility/TaskPool.cpp (original)
+++ lldb/trunk/source/Utility/TaskPool.cpp Wed Jun 7 11:28:08 2017
@@ -75,7 +75,7 @@ void TaskPoolImpl::Worker(TaskPoolImpl *
}
void TaskMapOverInt(size_t begin, size_t end,
- std::function<void(size_t)> const &func) {
+ const llvm::function_ref<void(size_t)> &func) {
std::atomic<size_t> idx{begin};
size_t num_workers =
std::min<size_t>(end, std::thread::hardware_concurrency());
More information about the lldb-commits
mailing list