hanchenye-llvm-project/compiler-rt/lib
Kuba Brecka 0222eacf0f [tsan] Add support for GCD target queues
GCD (libdispatch) has a concept of “target queues”: Each queue has either an implicit or explicit target queue, where the task is handed over to when it’s time to execute it. For example, a concurrent queue can have a serial target queue (effectively making the first queue serial), or multiple queues can have the same serial target queue (which means tasks in all the queues are mutually excluded). Thus we need to acquire-release semantics on the full “chain” of target queues.

This patch changes the way we Acquire() and Release() when executing tasks in queues. Now we’ll walk the chain of target queues and synchronize on each queue that is serial (or when dealing with a barrier block). This should avoid false positives when using dispatch_set_target_queue().

Differential Revision: https://reviews.llvm.org/D25835

llvm-svn: 285613
2016-10-31 18:28:02 +00:00
..
BlocksRuntime
asan [ASan] Initialize cloned dynamic runtime global variables earlier 2016-10-31 17:13:02 +00:00
builtins build: give aliases the same visibility 2016-10-28 23:37:50 +00:00
cfi [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
dfsan [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
esan [esan] Fix ESan test failure on Debian Sid bot 2016-10-07 20:53:35 +00:00
interception [compiler-rt] Fix interception of crt atoll on win10 CRT. 2016-09-30 19:37:11 +00:00
lsan [asan/lsan] Avoid possible deadlock in dynamic ASan runtime thread initialization. 2016-10-28 06:49:53 +00:00
msan Don't use internal symbolizer if we are in process of reporting Out-of-Memory. 2016-09-29 23:00:54 +00:00
profile [profile] Mark lprofCurFilename as COMPILER_RT_WEAK 2016-10-18 00:02:28 +00:00
safestack [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
sanitizer_common tsan: set disable_coredump=0 by default for Go 2016-10-28 20:52:22 +00:00
scudo [scudo] Lay the foundation for 32-bit support 2016-10-26 16:16:58 +00:00
stats stats: define WIN32_LEAN_AND_MEAN when including windows.h 2016-08-30 20:15:46 +00:00
tsan [tsan] Add support for GCD target queues 2016-10-31 18:28:02 +00:00
ubsan [ubsan] More 0 -> nullptr conversions (NFC) 2016-10-06 23:41:57 +00:00
xray [compiler-rt][XRay] Support tail call sleds 2016-10-13 23:56:54 +00:00
CMakeLists.txt