summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h
Commit message (Collapse)AuthorAgeFilesLines
...
* [lsan] Use the fast version of GetBlockBegin for leak checking in LSan and ASan.Sergey Matveev2013-05-311-4/+11
| | | | llvm-svn: 182994
* [sanitizer] introduce LargeMmapAllocator::GetBlockBeginFastSingleThreaded, ↵Kostya Serebryany2013-05-301-2/+49
| | | | | | required for LeakSanitizer to work faster. Also fix lint. llvm-svn: 182917
* Fix MSVC W3 compiler warningsTimur Iskhodzhanov2013-05-291-1/+1
| | | | llvm-svn: 182857
* [sanitizer] factor out ByteMap from SizeClassAllocator32 so that it can be ↵Kostya Serebryany2013-05-201-18/+39
| | | | | | later replaced with a more memory-efficient implementation on 64-bit. llvm-svn: 182234
* [sanitizer] fix gcc buildKostya Serebryany2013-05-161-1/+1
| | | | llvm-svn: 182006
* [sanitizer] Fix the region overflow condition in ↵Sergey Matveev2013-05-161-1/+1
| | | | | | SanitizerAllocator64::PopulateFreeList(). llvm-svn: 182002
* [sanitizer] fix a gcc warningKostya Serebryany2013-05-161-1/+1
| | | | llvm-svn: 181992
* [sanitizer] fix the GetBlockBegin overflow bug while preserving the ↵Kostya Serebryany2013-05-161-4/+5
| | | | | | performance optimization (use 32-bit division when possible). Improve the benchmarks that checks for performance of GetBlockBegin/GetMetaData llvm-svn: 181989
* [sanitizer] Fix boundary condition in LargeMmapAllocator::GetBlockBegin. ↵Kostya Serebryany2013-04-081-1/+1
| | | | | | Patch by Sergey Matveev llvm-svn: 179007
* asan/tsan: reduce per-thread memory allocator cachesDmitry Vyukov2013-03-201-1/+1
| | | | | | | 256 blocks (which is 512 in reallity) seems to be too big cache, reducing the size reduces memory consumption but does not degrade performance. llvm-svn: 177502
* [asan] Add ForEachChunk() to sanitizer allocators. Patch by Sergey MatveevKostya Serebryany2013-03-151-0/+55
| | | | llvm-svn: 177147
* [asan] remove one redundant malloc stress test, unify the usage of ↵Kostya Serebryany2013-03-141-1/+1
| | | | | | ASAN_LOW_MEMORY macro in tests, slightly reduce test memory usage (all to make 32-bit runs consume less RAM) llvm-svn: 177069
* [sanitizer] use fewer size classes in the allocator to reduce the memory ↵Kostya Serebryany2013-03-121-25/+27
| | | | | | footprint. There is no all-size-fits-all constant here, but this change is positive or neutral on several large apps I've tested llvm-svn: 176855
* [sanitizer] simplify the allocator's SizeClassMap: do not require an extra ↵Kostya Serebryany2013-03-121-20/+15
| | | | | | template parameter, instead compute it in flight. No functionality change llvm-svn: 176853
* [sanitizer] make SizeClassAllocator64::GetBlockBegin more bullet proof (by ↵Kostya Serebryany2013-03-111-0/+2
| | | | | | Sergey Matveev) llvm-svn: 176799
* [sanitizers] Fix check failure on dealloc from new threadReid Kleckner2013-03-061-2/+13
| | | | | | | | | | | | | | Summary: Adds a test for this case, which was reduced from a chromium build of WebKit's DumpRenderTree. Reviewers: eugenis CC: glider Differential Revision: http://llvm-reviews.chandlerc.com/D495 llvm-svn: 176552
* [sanitizer] Fix check failure in SizeClassMap::Print.Evgeniy Stepanov2013-03-011-1/+1
| | | | llvm-svn: 176338
* [asan] a bit stricter lint for CHECK vs CHECK_XX (these CHECK_XX really help ↵Kostya Serebryany2013-02-261-0/+1
| | | | | | debugging!) llvm-svn: 176085
* [ASan] Switch Windows to allocator v2, also fixing some build errorsTimur Iskhodzhanov2013-02-081-3/+3
| | | | llvm-svn: 174707
* [sanitizer] always allocate 16-byte aligned chunks of memoryKostya Serebryany2013-02-071-23/+38
| | | | llvm-svn: 174617
* [sanitizer_common] Fix lint warnings.Alexander Potapenko2013-02-071-4/+4
| | | | llvm-svn: 174616
* [ASan] Fix a compilation warning.Alexander Potapenko2013-02-071-1/+1
| | | | llvm-svn: 174604
* [ASan] Implement asan_mz_size(), asan_mz_force_lock() and ↵Alexander Potapenko2013-02-071-0/+50
| | | | | | | | asan_mz_force_unlock() for allocator2. Switch to allocator2 on Darwin. llvm-svn: 174603
* asan/tsan: fix compilation errors/bugs on Windows where long is 32-bit even ↵Dmitry Vyukov2013-02-041-1/+1
| | | | | | in 64-bit mode llvm-svn: 174312
* Use the correct order of NOINLINE vs ret type to fix Windows buildTimur Iskhodzhanov2013-01-281-7/+7
| | | | llvm-svn: 173694
* [sanitizer] fix calloc overflow in asan/tsan/msanKostya Serebryany2013-01-251-0/+3
| | | | llvm-svn: 173441
* tsan: implement malloc stats queryingDmitry Vyukov2013-01-241-20/+135
| | | | llvm-svn: 173332
* [sanitizer] increase the minimal mmap size in allocator to 2^16; fix the ↵Kostya Serebryany2013-01-231-1/+1
| | | | | | asan Mac build llvm-svn: 173261
* asan: faster thead-local cache for memory allocatorDmitry Vyukov2013-01-151-38/+57
| | | | llvm-svn: 172521
* asan/tsan: mmap shadow memory before allocating memory (otherwise other ↵Dmitry Vyukov2013-01-141-16/+18
| | | | | | threads can access non yet allocated shadow) llvm-svn: 172395
* asan/tsan: fix memory allocator statisticsDmitry Vyukov2013-01-141-2/+2
| | | | llvm-svn: 172390
* asan/tsan: faster memory allocatorDmitry Vyukov2013-01-141-26/+31
| | | | | | | | 1. Increase size classes from 32k to 128k 2. Use lock-free stack in central cache 3. Use blocking mutex when allocate new memory with mmap llvm-svn: 172388
* asan/tsan: move blocking mutex from asan to sanitizer_commonDmitry Vyukov2013-01-141-3/+3
| | | | llvm-svn: 172380
* asan/tsan: faster memory allocatorDmitry Vyukov2013-01-111-162/+134
| | | | | | replace lists with arrays llvm-svn: 172217
* asan: always pass allocator cache to Allocate()Dmitry Vyukov2013-01-111-7/+4
| | | | llvm-svn: 172193
* [sanitizer] better statistics for the large allocatorKostya Serebryany2013-01-101-2/+11
| | | | llvm-svn: 172069
* asan/tsan: fix commentDmitry Vyukov2013-01-101-3/+3
| | | | llvm-svn: 172064
* [sanitizer] add statistics to the allocator; fix lintKostya Serebryany2012-12-271-6/+61
| | | | llvm-svn: 171161
* [asan] asan_allocator2: store the user requested size in just 32 bits ↵Kostya Serebryany2012-12-261-0/+4
| | | | | | (larger sizes use metadata). This allows to put one more 32-bit field into the chunk header llvm-svn: 171089
* [asan] add a test for right OOB with special large sizes. Fix this test in ↵Kostya Serebryany2012-12-251-2/+2
| | | | | | asan_allocator2. More test tweaking for allocator2 llvm-svn: 171058
* [sanitizer] increase the maximum size class of the fast allocator. This ↵Kostya Serebryany2012-12-251-3/+6
| | | | | | should save quite a bit of memory in tsan/msan (and later in asan). This also puts more stress on the large allocator. Add a couple of checks llvm-svn: 171055
* [sanitizer] make LargeMmapAllocator::GetBlockBegin faster by not using a ↵Kostya Serebryany2012-12-241-22/+33
| | | | | | linked list llvm-svn: 171035
* [sanitizer] rework the size class map in the sanitizer allocator: make the ↵Kostya Serebryany2012-12-241-69/+133
| | | | | | differences between size classes more uniform. llvm-svn: 171031
* [asan] asan_allocator2 fix two asserts that happen on full chrome: a) ↵Kostya Serebryany2012-12-211-3/+7
| | | | | | memalign called with 0 size and large alignment and b) malloc called after TSD has been destructed llvm-svn: 170900
* [sanitizer] mmap less on every size class to make the allocator more ↵Kostya Serebryany2012-12-211-13/+21
| | | | | | friendly to small programs llvm-svn: 170895
* [asan] asan_allocator2: improve FindHeapChunkByAddress to find memory chunks ↵Kostya Serebryany2012-12-191-2/+5
| | | | | | to the left of a given address. Almost all tests pass with the new allocator now, only 6 are left to fix. llvm-svn: 170511
* [sanitizer] one more stability fix in 64-bit allocatorKostya Serebryany2012-12-191-1/+2
| | | | llvm-svn: 170498
* [sanitizer] fix LargeMmapAllocator::GetBlockBeginKostya Serebryany2012-12-181-12/+6
| | | | llvm-svn: 170434
* [sanitizer] fix a bug that has crept into the sanitizer allocator and caused ↵Kostya Serebryany2012-12-151-1/+1
| | | | | | SEGV on allocations between 1Mb and 2Mb, improve the test llvm-svn: 170274
* [sanitizer] introduce MmapFixedOrDie and use it in SizeClassAllocator64Kostya Serebryany2012-12-131-1/+1
| | | | llvm-svn: 170099
OpenPOWER on IntegriCloud