llvm-project/lldb/source/Utility
Tamas Berghammer ccb367609b Add a new task pool class to LLDB
The purpose of the class is to make it easy to execute tasks in parallel

Basic design goals:
* Have a very lightweight and easy to use interface where a list of
  lambdas can be executed in parallel
* Use a global thread pool to limit the number of threads used
  (std::async don't do it on Linux) and to eliminate the thread creation
  overhead
* Destroy the thread currently not in use to avoid the confusion caused
  by them during debugging LLDB

Possible future improvements:
* Possibility to cancel already added, but not yet started tasks
* Parallel for_each implementation
* Optimizations in the thread creation destroyation code

Differential revision: http://reviews.llvm.org/D13727

llvm-svn: 250820
2015-10-20 12:42:05 +00:00
..
ARM64_DWARF_Registers.cpp Switch NULL to C++11 nullptr in source/Symbol and source/Utility 2014-04-20 13:17:36 +00:00
ARM64_DWARF_Registers.h lldb arm64 import. 2014-03-29 18:54:20 +00:00
ARM64_ehframe_Registers.h Clean up register naming conventions inside lldb. 2015-09-15 23:20:34 +00:00
ARM_DWARF_Registers.cpp Switch NULL to C++11 nullptr in source/Symbol and source/Utility 2014-04-20 13:17:36 +00:00
ARM_DWARF_Registers.h Various fixes for armv7 floating point/vector register support. 2013-03-13 00:14:30 +00:00
ARM_ehframe_Registers.h Clean up register naming conventions inside lldb. 2015-09-15 23:20:34 +00:00
CMakeLists.txt Add a new task pool class to LLDB 2015-10-20 12:42:05 +00:00
ConvertEnum.cpp Add support for .ARM.exidx unwind information 2015-09-30 13:50:14 +00:00
JSON.cpp Fix typos. 2015-07-22 00:16:02 +00:00
KQueue.cpp Added a kqueue class which isn't being used yet, but was part of trying to work around the limitations with the unix select() call and how it is limited to FD_SETSIZE file descriptors. 2013-02-16 22:46:58 +00:00
KQueue.h Make KQueue import the header in the correct path. 2013-04-18 20:58:20 +00:00
LLDBAssert.cpp Have lldb_assert accept bool expressions 2015-05-08 09:53:31 +00:00
Makefile
ModuleCache.cpp Remove unused modules from module cache. 2015-09-18 18:12:39 +00:00
ModuleCache.h Download symbol file for .oat files on android 2015-08-12 11:10:25 +00:00
NameMatches.cpp Move some functions from source/lldb.cpp to Utility. 2015-03-18 21:31:45 +00:00
PseudoTerminal.cpp Get lldb-server building on android-9 2015-05-12 01:10:56 +00:00
Range.cpp <rdar://problem/14134716> 2013-06-17 22:51:50 +00:00
RegisterNumber.cpp Add an additional check to UnwindAssembly_x86::AugmentUnwindPlanFromCallSite 2015-01-13 06:07:07 +00:00
SharingPtr.cpp Fix typos. 2015-07-22 00:16:02 +00:00
StringExtractor.cpp Add comment in StringExtractor::GetHexU8 2015-09-25 18:23:50 +00:00
StringExtractorGDBRemote.cpp lldb-server: add support for binary memory reads 2015-10-14 12:59:37 +00:00
StringExtractorGDBRemote.h lldb-server: add support for binary memory reads 2015-10-14 12:59:37 +00:00
StringLexer.cpp Removed a couple of static helpers in the data formatters, replaced with new general logic in StringLexer 2014-11-14 22:58:11 +00:00
TaskPool.cpp Add a new task pool class to LLDB 2015-10-20 12:42:05 +00:00
TimeSpecTimeout.cpp Added a kqueue class which isn't being used yet, but was part of trying to work around the limitations with the unix select() call and how it is limited to FD_SETSIZE file descriptors. 2013-02-16 22:46:58 +00:00
TimeSpecTimeout.h Switch NULL to C++11 nullptr in source/Symbol and source/Utility 2014-04-20 13:17:36 +00:00
UriParser.cpp Simplify find_first_of & find_last_of on single char. 2015-09-01 23:57:17 +00:00
UriParser.h Make UriParser to support [$HOSTNAME] notation. 2015-08-20 23:09:34 +00:00
UuidCompatibility.h Fix build on Linux 2013-04-17 19:24:22 +00:00