llvm-project/compiler-rt/lib
Evgeniy Stepanov d398471a63 [hwasan] Switch to 64 allocator with a dense size class map.
Summary:
Replace the 32-bit allocator with a 64-bit one with a non-constant
base address, and reduce both the number of size classes and the maximum
size of per-thread caches.

As measured on [1], this reduces average weighted memory overhead
(MaxRSS) from 26% to 12% over stock android allocator. These numbers
include overhead from code instrumentation and hwasan shadow (i.e. not a
pure allocator benchmark).

This switch also enables release-to-OS functionality, which is not
implemented in the 32-bit allocator. I have not seen any effect from
that on the benchmark.

[1] https://android.googlesource.com/platform/system/extras/+/master/memory_replay/

Reviewers: vitalybuka, kcc

Subscribers: kubamracek, cryptoad, llvm-commits

Differential Revision: https://reviews.llvm.org/D56239

llvm-svn: 350370
2019-01-03 23:19:02 +00:00
..
BlocksRuntime [compiler-rt] Test commit: remove some trailing white spaces. 2017-08-25 19:36:30 +00:00
asan Add support for background thread on NetBSD in ASan 2018-12-29 00:32:07 +00:00
builtins [builtins] Remove trailing whitespaces, NFC 2018-12-10 22:52:59 +00:00
cfi Unbreak linux cfi build 2018-10-01 18:14:02 +00:00
dfsan [dfsan] Fix build after r346262 2018-11-06 20:42:19 +00:00
esan [Sanitizer] Separate FreeBSD interception data structures 2018-12-07 20:05:55 +00:00
fuzzer [libFuzzer] make len_control less aggressive 2018-12-14 23:21:31 +00:00
hwasan [hwasan] Switch to 64 allocator with a dense size class map. 2019-01-03 23:19:02 +00:00
interception [interception] Switch to _type suffix instead of _f, NFC. 2018-10-22 20:54:48 +00:00
lsan Introduce `AddressSpaceView` template parameter to `CombinedAllocator`. 2018-12-21 21:22:27 +00:00
msan Reimplement Thread Static Data MSan routines with TLS 2018-12-27 21:43:46 +00:00
profile Add support for LLVM profile for NetBSD 2018-12-22 06:56:19 +00:00
safestack SafeStack: Fix thread liveness check on *BSD 2018-08-28 18:30:03 +00:00
sanitizer_common [hwasan] Switch to 64 allocator with a dense size class map. 2019-01-03 23:19:02 +00:00
scudo Introduce `AddressSpaceView` template parameter to `SizeClassAllocator64`. 2018-12-21 21:09:31 +00:00
stats [CMake] Add compiler-rt header files to the list of sources for targets 2018-07-10 13:00:17 +00:00
tsan [TSan] Enable detection of lock-order-inversions for Objective-C @synchronized 2019-01-02 20:10:30 +00:00
ubsan [compiler-rt][UBSan] silence_unsigned_overflow: do *NOT* ignore *fatal* unsigned overflows 2018-11-21 20:35:43 +00:00
ubsan_minimal [ubsan-minimal] update comments in CMakeLists.txt 2018-10-30 01:20:12 +00:00
xray Speculative fix for xray assembler error on MachO since r349976 2018-12-28 18:53:00 +00:00
CMakeLists.txt [cmake] Add a separate CMake var to control profile runtime 2017-10-02 05:03:55 +00:00