summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h
Commit message (Collapse)AuthorAgeFilesLines
* [sanitizer_common] Remove some old commented-out printf statements, and ↵Mitch Phillips2019-04-241-6/+1
| | | | | | fixed up the order of includes. llvm-svn: 359150
* 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
* tsan: fix deadlock reportingDmitry Vyukov2014-12-181-0/+1
| | | | | | | currently deadlock detector reports effectively random stacks in report after flush because it looks at old edges with wrong stacks llvm-svn: 224519
* tsan: fix failing CHECK In deadlock detectorDmitry Vyukov2014-12-181-1/+4
| | | | | | and re-enable the test llvm-svn: 224518
* sanitizer_deadlock_detector.h: MSVC 2012 doesn't like compound literalsHans Wennborg2014-04-141-5/+8
| | | | llvm-svn: 206199
* [sanitizer] speed up the bitvector-based deadlock detector by ~15% (iterate ↵Kostya Serebryany2014-03-311-7/+12
| | | | | | over the currently held locks using the array, not the bitvector. Bitvector is not the best data structure to iterate over) llvm-svn: 205168
* [sanitizer] print threads in deadlock reportKostya Serebryany2014-03-211-5/+11
| | | | llvm-svn: 204461
* [sanitizer] use some c++11 to simplify the code (we can now). Fix one place ↵Kostya Serebryany2014-03-191-11/+7
| | | | | | where a mutex acquisition stack trace was not properly remembered llvm-svn: 204237
* [sanitizer] when recycling deadlock graph nodes, properly recycle edgesKostya Serebryany2014-03-191-2/+10
| | | | llvm-svn: 204233
* [sanitizer] reverse the order of the stack traces printed for every pair of ↵Kostya Serebryany2014-03-171-2/+2
| | | | | | locks in the deadlock report (first print the 'from' node, then print the 'to' node of the deadlock graph) llvm-svn: 204043
* [sanitizer] make the deadlock detector print 2*N stack traces on ↵Kostya Serebryany2014-03-171-7/+13
| | | | | | lock-order-inversion with N locks (i.e. print stack traces for both lock acquisitions in every edge in the graph). More improvements to follow llvm-svn: 204042
* [sanitizer] allow to store the lock context (stack trace id) with all ↵Kostya Serebryany2014-03-171-12/+46
| | | | | | currently held locks in a thread. This will allow the deadlock detector to provide better warnings (more changes to go) llvm-svn: 204039
* [sanitizer] fully implement racy fast path in bitset-based deadlock detectorKostya Serebryany2014-03-141-2/+17
| | | | llvm-svn: 203910
* [sanitizer] partially implement racy fast path in bitset-based deadlock detectorKostya Serebryany2014-03-141-0/+10
| | | | llvm-svn: 203904
* [sanitizer] in bitset-based deadlock detector collect edge's stack trace ↵Kostya Serebryany2014-03-141-7/+47
| | | | | | when an edge is added to the graph (in following CLs these stack traces will be added to the report) llvm-svn: 203902
* [sanitizer] in bitvector-based deadlock detector split onLock into ↵Kostya Serebryany2014-03-131-11/+27
| | | | | | onLockBefore and onLockAfter hooks llvm-svn: 203796
* [sanitizer] support recursive rwlocks in bitset-based deadlock detectorKostya Serebryany2014-03-131-4/+22
| | | | llvm-svn: 203779
* [sanitizer] speedup deadlock detector for the case when we acquire the first ↵Kostya Serebryany2014-02-281-2/+16
| | | | | | lock in a thread llvm-svn: 202492
* [sanitizer] do not acquire a global mutex in deadlock detector when dealing ↵Kostya Serebryany2014-02-271-10/+17
| | | | | | with Unlock (it is essentially a thread-local operation) llvm-svn: 202401
* [sanitizer] add support for try_lock in deadlock detectorKostya Serebryany2014-02-251-1/+18
| | | | llvm-svn: 202120
* [sanitizer] fix epoch handling in deadlock detector (before the fix, we ↵Kostya Serebryany2014-02-251-16/+25
| | | | | | could have had edges from locks in the previous epoch to locks in the current epoch) llvm-svn: 202118
* [sanitizer] when reporting a deadlock also report the lock cycleKostya Serebryany2014-02-181-0/+21
| | | | llvm-svn: 201576
* [sanitizer] make sure the deadlock detector survives the change of epochs; ↵Kostya Serebryany2014-02-181-1/+14
| | | | | | add a test and a comment llvm-svn: 201572
* [sanitizer] add tests for DeadlockDetector, minor fix in onLockKostya Serebryany2014-02-171-1/+10
| | | | llvm-svn: 201514
* [sanitizer] implement node removal in Deadlock graphKostya Serebryany2014-02-171-4/+7
| | | | llvm-svn: 201509
* [sanitizer] simplify DeadlockDetectorTLSKostya Serebryany2014-02-171-38/+28
| | | | llvm-svn: 201505
* [sanitizer] add iterators to bit vectors; make bit vector operations use ↵Kostya Serebryany2014-02-141-1/+3
| | | | | | little stack; add common flag 'detect_deadlocks' llvm-svn: 201405
* [sanitizer] optimize TwoLevelBitVector::intersectsWith, extend tests, fix a ↵Kostya Serebryany2014-02-131-3/+3
| | | | | | check llvm-svn: 201338
* [sanitizer] address some of the dvyukov's comments on previous commitsKostya Serebryany2014-02-131-2/+12
| | | | llvm-svn: 201322
* [sanitizer] findPath for deadlock detectorKostya Serebryany2014-02-131-0/+2
| | | | llvm-svn: 201306
* [sanitizer] more code for deadlock detector, nothing really works yet ↵Kostya Serebryany2014-02-131-0/+158
(except for small unit tests). llvm-svn: 201302
OpenPOWER on IntegriCloud