984400f04e
Bump asan/tsan versions for upstream commits: commit f1bb30a4956f83e46406d6082e5d376ce65391e0 Author: Vitaly Buka <vitalybuka@google.com> Date: Thu Aug 26 10:25:09 2021 -0700 [sanitizer] No THREADLOCAL in qsort and bsearch qsort can reuse qsort_r if available. bsearch always passes key as the first comparator argument, so we can use it to wrap the original comparator. Differential Revision: https://reviews.llvm.org/D108751 commit d77b476c1953bcb0a608b2d6a4f2dd9fe0b43967 Author: Dmitry Vyukov <dvyukov@google.com> Date: Mon Aug 2 16:52:53 2021 +0200 tsan: avoid extra call indirection in unaligned access functions Currently unaligned access functions are defined in tsan_interface.cpp and do a real call to MemoryAccess. This means we have a real call and no read/write constant propagation. Unaligned memory access can be quite hot for some programs (observed on some compression algorithms with ~90% of unaligned accesses). Move them to tsan_interface_inl.h to avoid the additional call and enable constant propagation. Also reorder the actual store and memory access handling for __sanitizer_unaligned_store callbacks to enable tail calling in MemoryAccess. Depends on D107282. Reviewed By: vitalybuka, melver commit 97795be22f634667ce7a022398c59ccc9f7440eb Author: Dmitry Vyukov <dvyukov@google.com> Date: Fri Jul 30 08:35:11 2021 +0200 tsan: optimize test-only barrier The updated lots_of_threads.c test with 300 threads started running for too long on machines with low hardware parallelism (e.g. taskset -c 0-1). On lots of CPUs it finishes in ~2 secs. But with taskset -c 0-1 it runs for hundreds of seconds effectively spinning in the barrier in the sleep loop. We now have the handy futex API in sanitizer_common. Use it instead of the passive spin loop. It makes the test run only faster with taskset -c 0-1, it runs for ~1.5 secs, while with full parallelism it still runs for ~2 secs (but consumes less CPU time). Depends on D107131. Reviewed By: vitalybuka |
||
---|---|---|
.. | ||
libtool-version | ||
Makefile.am | ||
Makefile.in | ||
tsan_clock.cpp | ||
tsan_clock.h | ||
tsan_debugging.cpp | ||
tsan_defs.h | ||
tsan_dense_alloc.h | ||
tsan_dispatch_defs.h | ||
tsan_external.cpp | ||
tsan_fd.cpp | ||
tsan_fd.h | ||
tsan_flags.cpp | ||
tsan_flags.h | ||
tsan_flags.inc | ||
tsan_ignoreset.cpp | ||
tsan_ignoreset.h | ||
tsan_ilist.h | ||
tsan_interceptors_libdispatch.cpp | ||
tsan_interceptors_mac.cpp | ||
tsan_interceptors_mach_vm.cpp | ||
tsan_interceptors_posix.cpp | ||
tsan_interceptors.h | ||
tsan_interface_ann.cpp | ||
tsan_interface_ann.h | ||
tsan_interface_atomic.cpp | ||
tsan_interface_java.cpp | ||
tsan_interface_java.h | ||
tsan_interface.cpp | ||
tsan_interface.h | ||
tsan_interface.inc | ||
tsan_malloc_mac.cpp | ||
tsan_md5.cpp | ||
tsan_mman.cpp | ||
tsan_mman.h | ||
tsan_mutexset.cpp | ||
tsan_mutexset.h | ||
tsan_new_delete.cpp | ||
tsan_platform_linux.cpp | ||
tsan_platform_mac.cpp | ||
tsan_platform_posix.cpp | ||
tsan_platform_windows.cpp | ||
tsan_platform.h | ||
tsan_ppc_regs.h | ||
tsan_preinit.cpp | ||
tsan_report.cpp | ||
tsan_report.h | ||
tsan_rtl_aarch64.S | ||
tsan_rtl_amd64.S | ||
tsan_rtl_mips64.S | ||
tsan_rtl_mutex.cpp | ||
tsan_rtl_ppc64.S | ||
tsan_rtl_proc.cpp | ||
tsan_rtl_report.cpp | ||
tsan_rtl_s390x.S | ||
tsan_rtl_thread.cpp | ||
tsan_rtl.cpp | ||
tsan_rtl.h | ||
tsan_shadow.h | ||
tsan_stack_trace.cpp | ||
tsan_stack_trace.h | ||
tsan_suppressions.cpp | ||
tsan_suppressions.h | ||
tsan_symbolize.cpp | ||
tsan_symbolize.h | ||
tsan_sync.cpp | ||
tsan_sync.h | ||
tsan_trace.h | ||
tsan_update_shadow_word.inc | ||
tsan_vector_clock.cpp | ||
tsan_vector_clock.h |