Return memory to OS right after free (not in the async thread). 42/182742/2
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Fri, 22 Jun 2018 12:21:18 +0000 (15:21 +0300)
committerDongkyun Son <dongkyun.s@samsung.com>
Thu, 19 Jul 2018 09:09:43 +0000 (09:09 +0000)
commitea6505b08f4afe73eb99445c4a26eccbfcd7db70
treeb7ca4db4eebd9a792d1cb450cbb1d9693dfe3d97
parent0502d35d916d65279b6afa7399018077efde2659
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

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@288091 91177308-0d34-0410-b5e6-96231b3b80d8

Change-Id: I2e01818bbdf3a0b9f0855b28d963b8016000abc8
14 files changed:
libsanitizer/asan/asan_activation.cc
libsanitizer/asan/asan_activation_flags.inc
libsanitizer/asan/asan_allocator.cc
libsanitizer/asan/asan_allocator.h
libsanitizer/lsan/lsan_allocator.cc
libsanitizer/sanitizer_common/sanitizer_allocator.cc
libsanitizer/sanitizer_common/sanitizer_allocator_combined.h
libsanitizer/sanitizer_common/sanitizer_allocator_primary32.h
libsanitizer/sanitizer_common/sanitizer_allocator_primary64.h
libsanitizer/sanitizer_common/sanitizer_atomic.h
libsanitizer/sanitizer_common/sanitizer_common.h
libsanitizer/sanitizer_common/sanitizer_common_libcdep.cc
libsanitizer/sanitizer_common/sanitizer_flags.inc
libsanitizer/tsan/tsan_mman.cc