Evgeniy Stepanov
d3305afc75
Return memory to OS right after free (not in the async thread).
...
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
2016-11-29 00:22:50 +00:00
Kostya Serebryany
4fd30769c1
[sanitizer] remove kBatchClassID that is not used any more; NFC
...
llvm-svn: 280185
2016-08-31 00:37:33 +00:00
Kostya Serebryany
b72479b84a
[asan] first attempt at releasing free-d memory back to the system using madvise. Requires quite some tuning.
...
llvm-svn: 279887
2016-08-26 23:58:42 +00:00
Kostya Serebryany
ce2163459f
[sanitizer] allocator: split the local cache class into two, one for 32-bit allocator and one for 64-bit one. NFC. The two imlementations will diverge in the following changes.
...
llvm-svn: 279495
2016-08-23 00:30:43 +00:00
Kostya Serebryany
1ab649649d
[sanitizer] use 32-bit offset instead of 64-bit pointers in the 64-bit allocator's transfer batches. This saves 2x memory for the transfer batches (up to ~1.5% overall in some cases)
...
llvm-svn: 278179
2016-08-09 23:30:22 +00:00
Kostya Serebryany
d4a5749677
[sanitizer] minor refactoring in the allocator, NFC
...
llvm-svn: 278163
2016-08-09 20:54:50 +00:00
Kostya Serebryany
4cd2845e6a
[sanitizer] allocator: move TransferBatch into SizeClassAllocator64/SizeClassAllocator32 because we actually need different iplementations for the 64- and 32-bit case. NFC; the following patches will make the TransferBatch implementations differ
...
llvm-svn: 277899
2016-08-06 01:24:11 +00:00
Kostya Serebryany
c49e296805
[sanitizer] refactor TransferBatch to hide the implementation. NFC expected. Second attempt after failed r276383 which was reverted.
...
llvm-svn: 277554
2016-08-03 00:14:10 +00:00
Kostya Serebryany
d251e94a01
[sanitizer] revert r276383 while investigating failures on bot
...
llvm-svn: 276456
2016-07-22 19:02:59 +00:00
Kostya Serebryany
5bc01c108d
[sanitizer] refactor TransferBatch to hide the implementation. NFC
...
llvm-svn: 276383
2016-07-22 02:21:12 +00:00
Kostya Serebryany
35eeea707e
[sanitizer] allocator: remove kPopulateSize and only use SizeClassMap::MaxCached; ensure that TransferBatch size is a power of two, refactor TransferBatch creation/destruction into separate functions.
...
llvm-svn: 276318
2016-07-21 18:47:53 +00:00
Kostya Serebryany
9835a81529
[sanitizers] split sanitizer_allocator.h into a number of smaller .h files; NFC
...
llvm-svn: 276195
2016-07-20 22:06:41 +00:00