TThurston Dangtsan_shadow_test: add const qualifier
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
tsan: remove old vector clocks They are unused in the new tsan runtime. Depends on D112604. Reviewed By: vitalybuka, melver Differential Revision: https://reviews.llvm.org/D112605 | 4 年前 | |
tsan: increase dense slab alloc capacity We've got a user report about heap block allocator overflow. Bump the L1 capacity of all dense slab allocators to maximum and be careful to not page the whole L1 array in from .bss. If OS uses huge pages, this still may cause a limited RSS increase due to boundary huge pages, but avoiding that looks hard. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101161 | 5 年前 | |
tsan: remove tracking of racy addresses We used to deduplicate based on the race address to prevent lots of repeated reports about the same race. But now we clear the shadow for the racy address in DoReportRace: // This prevents trapping on this address in future. for (uptr i = 0; i < kShadowCnt; i++) StoreShadow(&shadow_mem[i], i == 0 ? Shadow::kRodata : Shadow::kEmpty); It should have the same effect of not reporting duplicates (and actually better because it's automatically reset when the memory is reallocated). So drop the address deduplication code. Both simpler and faster. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D130240 | 4 年前 | |
tsan: Fix the improper argument type in tsan_ilist_test.cpp - clang-ppc64le-rhel bot LIT failure: https://lab.llvm.org/buildbot/#/builders/57/builds/8932 - culprit change: https://reviews.llvm.org/D107050 | 4 年前 | |
tsan: introduce New/Alloc/Free helpers We frequenty allocate sizeof(T) memory and call T ctor on that memory (C++ new keyword effectively). Currently it's quite verbose and usually takes 2 lines of code. Add New<T>() helper that does it much more concisely. Rename internal_free to Free that also sets the pointer to nullptr. Shorter and safer. Rename internal_alloc to Alloc, just shorter. Reviewed By: vitalybuka, melver Differential Revision: https://reviews.llvm.org/D107085 | 4 年前 | |
compiler-rt: Rename .cc file in lib/tsan/tests/{rtl,unit} to .cpp Like r367463, but for tsan/tests/{rtl,unit}. llvm-svn: 367566 | 6 年前 | |
tsan_shadow_test: add const qualifier Fix build error in https://lab.llvm.org/buildbot/#/builders/57/builds/23839/steps/7/logs/stdio that I had introduced in https://reviews.llvm.org/D141445 Differential Revision: https://reviews.llvm.org/D141534 | 3 年前 | |
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 | 4 年前 | |
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 | 4 年前 | |
Revert "Reland "[compiler-rt][test] Heed COMPILER_RT_DEBUG when compiling unittests"" This reverts commit 255c3e3dcb06299aa2365f70817322a8a381c351, which breaks Msan-x86_64-Test. | 3 年前 | |
[Sanitizer][Darwin] Cleanup MaybeReexec() function and usage While investigating another issue, I noticed that MaybeReexec() never actually "re-executes via execv()" anymore. DyldNeedsEnvVariable() only returned true on macOS 10.10 and below. Usually, I try to avoid "unnecessary" cleanups (it's hard to be certain that there truly is no fallout), but I decided to do this one because: * I initially tricked myself into thinking that MaybeReexec() was relevant to my original investigation (instead of being dead code). * The deleted code itself is quite complicated. * Over time a few other things were mushed into MaybeReexec(): initializing MonotonicNanoTime(), verifying interceptors are working, and stripping the DYLD_INSERT_LIBRARIES env var to avoid problems when forking. * This platform-specific thing leaked into sanitizer_common.h. * The ReexecDisabled() config nob relies on the "strong overrides weak pattern", which is now problematic and can be completely removed. * ReexecDisabled() actually hid another issue with interceptors not working in unit tests. I added an explicit verify_interceptors (defaults to true) option instead. Differential Revision: https://reviews.llvm.org/D129157 | 4 年前 | |
tsan: add new vector clock Add new fixed-size vector clock for the new tsan runtime. For now it's unused. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D107167 | 4 年前 |