summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cc
Commit message (Collapse)AuthorAgeFilesLines
* compiler-rt: Rename .cc file in lib/sanitizer_common to .cppNico Weber2019-07-311-149/+0
| | | | | | | | | | | See https://reviews.llvm.org/D58620 for discussion, and for the commands I ran. In addition I also ran for f in $(svn diff | diffstat | grep .cc | cut -f 2 -d ' '); do rg $f . ; done and manually updated (many) references to renamed files found by that. llvm-svn: 367463
* Runtime flags for malloc bisection.Evgeniy Stepanov2019-02-151-17/+4
| | | | | | | | | | | | Reviewers: kcc, pcc Subscribers: kubamracek, mgorny, jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58162 llvm-svn: 354156
* 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
* [sanitizer] Reduce stack depot size on Android.Evgeniy Stepanov2019-01-041-1/+1
| | | | | | | | | | | | | | | | Summary: The default setting kTabSizeLog=20 results in an 8Mb global hash table, almost all of it in private pages. That is not a sane setting in a mobile, system-wide use case: with ~150 concurrent processes stack depot will account for more than 1Gb of RAM. Reviewers: kcc, pcc Subscribers: srhines, kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D56333 llvm-svn: 350443
* [sanitizer] Cleanup sorting functionsVitaly Buka2018-05-091-1/+1
| | | | llvm-svn: 331915
* [sanitizer] Remove reserving constructor from InternalMmapVectorVitaly Buka2018-05-071-2/+2
| | | | llvm-svn: 331617
* rename InternalBinarySearch to InternalLowerBoundMike Aizatsky2016-11-181-2/+2
| | | | | | | | | | | | Summary: The new name better corresponds to its logic. Reviewers: kcc Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D26821 llvm-svn: 287377
* fixing binary search for cases when element is not in arrayMike Aizatsky2016-11-161-1/+1
| | | | | | | | Subscribers: kubabrecka Differential Revision: https://reviews.llvm.org/D26707 llvm-svn: 287078
* [sanitizer_common] Apply modernize-use-nullptr, other minor fixesVedant Kumar2015-09-301-2/+2
| | | | | | | | | | | | - Trim spaces. - Use nullptr in place of 0 for pointer variables. - Use '!p' in place of 'p == 0' for null pointer checks. Patch by Eugene Zelenko! Differential Revision: http://reviews.llvm.org/D13310 llvm-svn: 248964
* [msan] Better use-after-free reports.Evgeniy Stepanov2015-01-221-3/+6
| | | | | | | | | | | | | By attaching an extra integer tag to heap origins, we are able to distinguish between uninits - created by heap allocation, - created by heap deallocation (i.e. use-after-free), - created by __msan_allocated_memory call, - etc. See https://code.google.com/p/memory-sanitizer/issues/detail?id=35. llvm-svn: 226821
* [Sanitizer] Return code that calculates hash for stacktrace back to ↵Alexey Samsonov2014-10-271-0/+22
| | | | | | StackDepot implementation llvm-svn: 220663
* Change StackDepot interface to use StackTrace more extensivelyAlexey Samsonov2014-10-261-50/+15
| | | | llvm-svn: 220637
* [Sanitizer] Make StackTrace a lightweight reference to array of PCs, andAlexey Samsonov2014-10-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | introduce a BufferedStackTrace class, which owns this array. Summary: This change splits __sanitizer::StackTrace class into a lightweight __sanitizer::StackTrace, which doesn't own array of PCs, and BufferedStackTrace, which owns it. This would allow us to simplify the interface of StackDepot, and eventually merge __sanitizer::StackTrace with __tsan::StackTrace. Test Plan: regression test suite. Reviewers: kcc, dvyukov Reviewed By: dvyukov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5985 llvm-svn: 220635
* [msan] Make origin tracking fork-safe.Evgeniy Stepanov2014-09-041-0/+8
| | | | | | | | | Chained origins make plain memory stores async-signal-unsafe. We already disable it inside signal handlers. This change grabs all origin-related locks before fork() and releases them after fork() to avoid a deadlock in the child process. llvm-svn: 217140
* [msan] Increase hash table size for chained origins.Evgeniy Stepanov2014-07-071-2/+6
| | | | llvm-svn: 212448
* [tsan] Fix gotsan build.Evgeniy Stepanov2014-05-211-1/+1
| | | | llvm-svn: 209286
* [msan] Chained origins re-design.Evgeniy Stepanov2014-05-211-168/+91
| | | | | | | | | | | | | | | | | Generalize StackDepot and create a new specialized instance of it to efficiently (i.e. without duplicating stack trace data) store the origin history tree. This reduces memory usage for chained origins roughly by an order of magnitude. Most importantly, this new design allows us to put two limits on stored history data (exposed in MSAN_OPTIONS) that help avoid exponential growth in used memory on certain workloads. See comments in lib/msan/msan_origin.h for more details. llvm-svn: 209284
* [sanitizer] Add a fast version of StackDepotGet() for use in LSan.Sergey Matveev2013-08-261-0/+34
| | | | | | | Add a class that holds a snapshot of the StackDepot optimized for querying by ID. This allows us to speed up LSan dramatically. llvm-svn: 189217
* [asan] asan_allocator2: by default use the StackDepot to store the stack ↵Kostya Serebryany2012-12-261-1/+9
| | | | | | traces instead of storing them in the redzones llvm-svn: 171099
* tsan: reserve msb in stack depot id's (required for msan)Dmitry Vyukov2012-09-171-2/+6
| | | | llvm-svn: 164010
* tsan: improve stack depotDmitry Vyukov2012-08-311-31/+136
| | | | llvm-svn: 162993
* tsan: use stack depot to describe heap blocksDmitry Vyukov2012-08-301-3/+3
| | | | llvm-svn: 162902
* asan/tsan: first version of "stack depot"Dmitry Vyukov2012-08-301-0/+87
llvm-svn: 162897
OpenPOWER on IntegriCloud