tsan: new runtime (v3)
authorDmitry Vyukov <dvyukov@google.com>
Tue, 27 Apr 2021 11:55:41 +0000 (13:55 +0200)
committerDmitry Vyukov <dvyukov@google.com>
Thu, 25 Nov 2021 17:32:04 +0000 (18:32 +0100)
commit66d4ce7e26a5ab00f7e4946b6e1bac8f805010fa
treed09bbaf7a95e11c192c674a298e4aa262d084196
parent71a7c55f0f021b04b9a7303d0cd391b9161cf303
tsan: new runtime (v3)

This change switches tsan to the new runtime which features:
 - 2x smaller shadow memory (2x of app memory)
 - faster fully vectorized race detection
 - small fixed-size vector clocks (512b)
 - fast vectorized vector clock operations
 - unlimited number of alive threads/goroutimes

Depends on D112602.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D112603
44 files changed:
compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
compiler-rt/lib/tsan/CMakeLists.txt
compiler-rt/lib/tsan/check_analyze.sh
compiler-rt/lib/tsan/go/build.bat
compiler-rt/lib/tsan/go/buildgo.sh
compiler-rt/lib/tsan/go/tsan_go.cpp
compiler-rt/lib/tsan/rtl/tsan_defs.h
compiler-rt/lib/tsan/rtl/tsan_dense_alloc.h
compiler-rt/lib/tsan/rtl/tsan_flags.cpp
compiler-rt/lib/tsan/rtl/tsan_flags.inc
compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
compiler-rt/lib/tsan/rtl/tsan_mman.cpp
compiler-rt/lib/tsan/rtl/tsan_mman.h
compiler-rt/lib/tsan/rtl/tsan_mutexset.cpp
compiler-rt/lib/tsan/rtl/tsan_mutexset.h
compiler-rt/lib/tsan/rtl/tsan_platform.h
compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
compiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp
compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
compiler-rt/lib/tsan/rtl/tsan_rtl.h
compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp
compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
compiler-rt/lib/tsan/rtl/tsan_shadow.h
compiler-rt/lib/tsan/rtl/tsan_sync.cpp
compiler-rt/lib/tsan/rtl/tsan_sync.h
compiler-rt/lib/tsan/rtl/tsan_trace.h
compiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc [deleted file]
compiler-rt/lib/tsan/tests/unit/tsan_flags_test.cpp
compiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp
compiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp
compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
compiler-rt/test/tsan/bench_threads.cpp
compiler-rt/test/tsan/free_race2.c
compiler-rt/test/tsan/memcmp_race.cpp
compiler-rt/test/tsan/memcpy_race.cpp
compiler-rt/test/tsan/mutexset7.cpp