diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2019-01-03 23:19:02 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2019-01-03 23:19:02 +0000 |
commit | d398471a634d421cdccb0d792762f7f85a06f2de (patch) | |
tree | 2c5358a9e1210429e1a1df1cc9a85cf2e4c19afe /clang/lib | |
parent | ef4afca2add8fdec49466229028662ead54d47e6 (diff) | |
download | bcm5719-llvm-d398471a634d421cdccb0d792762f7f85a06f2de.tar.gz bcm5719-llvm-d398471a634d421cdccb0d792762f7f85a06f2de.zip |
[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
Diffstat (limited to 'clang/lib')
0 files changed, 0 insertions, 0 deletions