summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* Revert r330376 "[sanitizer] Generalize atomic_uint8_t, atomic_uint16_t, ... ↵Hans Wennborg2018-04-201-10/+28
| | | | | | | | | | into a template. NFC." This broke the Windows build, see e.g. http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/10130 > Differential Revision: https://reviews.llvm.org/D44246 llvm-svn: 330395
* [sanitizer] Generalize atomic_uint8_t, atomic_uint16_t, ... into a template. ↵Kuba Mracek2018-04-191-28/+10
| | | | | | | | NFC. Differential Revision: https://reviews.llvm.org/D44246 llvm-svn: 330376
* Return memory to OS right after free (not in the async thread).Evgeniy Stepanov2016-11-291-0/+5
| | | | | | | | | | | | | | | | | | Summary: In order to avoid starting a separate thread to return unused memory to the system (the thread interferes with process startup on Android, Zygota waits for all threads to exit before fork, but this thread never exits), try to return it right after free. Reviewers: eugenis Subscribers: cryptoad, filcab, danalbert, kubabrecka, llvm-commits Patch by Aleksey Shlyapnikov. Differential Revision: https://reviews.llvm.org/D27003 llvm-svn: 288091
* tsan: speed up race deduplicationDmitry Vyukov2015-09-031-0/+16
| | | | | | | | | | | | | | | | | | | | | | | Race deduplication code proved to be a performance bottleneck in the past if suppressions/annotations are used, or just some races left unaddressed. And we still get user complaints about this: https://groups.google.com/forum/#!topic/thread-sanitizer/hB0WyiTI4e4 ReportRace already has several layers of caching for racy pcs/addresses to make deduplication faster. However, ReportRace still takes a global mutex (ThreadRegistry and ReportMutex) during deduplication and also calls mmap/munmap (which take process-wide semaphore in kernel), this makes deduplication non-scalable. This patch moves race deduplication outside of global mutexes and also removes all mmap/munmap calls. As the result, race_stress.cc with 100 threads and 10000 iterations become 30x faster: before: real 0m21.673s user 0m5.932s sys 0m34.885s after: real 0m0.720s user 0m23.646s sys 0m1.254s http://reviews.llvm.org/D12554 llvm-svn: 246758
* Use sanitizer_atomic_clang.h with clang-cl instead of the MSVC variantReid Kleckner2015-05-291-1/+1
| | | | llvm-svn: 238585
* asan: fix atomic operations on ARMDmitry Vyukov2014-01-221-1/+2
| | | | | | | | implement correct atomic load/store for ARM add test for atomic load/store http://llvm-reviews.chandlerc.com/D2582 llvm-svn: 199802
* [ASan] cmake cleanup: make tab/space padding in CMakeLists consistent, ↵Alexey Samsonov2012-07-021-1/+1
| | | | | | silence/fix some pedantic warnings llvm-svn: 159514
* tsan/asan: first try on msvc atomicsDmitry Vyukov2012-06-291-99/+7
| | | | llvm-svn: 159443
* tsan/asan: add SpinMutex to sanitizer_commonDmitry Vyukov2012-06-291-0/+4
| | | | llvm-svn: 159439
* tsan/asan: unify atomics (move atomics from tsan to sanitizer_common)Dmitry Vyukov2012-06-291-0/+153
llvm-svn: 159437
OpenPOWER on IntegriCloud