hanchenye-llvm-project/compiler-rt
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
..
cmake Add support for LLVM profile for NetBSD 2018-12-22 06:56:19 +00:00
docs
include Regenerate syscall hooks for NetBSD 8.99.25 2018-10-30 11:10:36 +00:00
lib [hwasan] Switch to 64 allocator with a dense size class map. 2019-01-03 23:19:02 +00:00
test [hwasan] Switch to 64 allocator with a dense size class map. 2019-01-03 23:19:02 +00:00
unittests [XRay] Add LD_LIBRARY_PATH to env variables for Unit Tests 2018-09-27 23:15:05 +00:00
utils Update generate_netbsd_ioctls.awk for NetBSD 8.99.25 2018-10-31 12:52:08 +00:00
www
.arcconfig [compiler-rt] Set up .arcconfig to point to new Diffusion CRT repository 2017-12-06 20:55:32 +00:00
.gitignore
CMakeLists.txt Set the default SANITIZER_CXX_ABI library to libc++ for FreeBSD, and 2018-12-23 11:49:47 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
README.txt

README.txt

Compiler-RT
================================

This directory and its subdirectories contain source code for the compiler
support routines.

Compiler-RT is open source software. You may freely distribute it under the
terms of the license agreement found in LICENSE.txt.

================================