forked from OSchip/llvm-project
fc69967a4b
Summary: Most of our larger data is dynamically allocated (via `map`) but it became an hindrance with regard to init time, for a cost to benefit ratio that is not great. So change the `TSD`s, `RegionInfo`, `ByteMap` to be static. Additionally, for reclaiming, we used mapped & unmapped a buffer each time, which is costly. It turns out that we can have a static buffer, and that there isn't much contention on it. One of the other things changed here, is that we hard set the number of TSDs on Android to the maximum number, as there could be a situation where cores are put to sleep and we could miss some. Subscribers: mgorny, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D74696 |
||
---|---|---|
.. | ||
standalone | ||
CMakeLists.txt | ||
scudo_allocator.cpp | ||
scudo_allocator.h | ||
scudo_allocator_combined.h | ||
scudo_allocator_secondary.h | ||
scudo_crc32.cpp | ||
scudo_crc32.h | ||
scudo_errors.cpp | ||
scudo_errors.h | ||
scudo_flags.cpp | ||
scudo_flags.h | ||
scudo_flags.inc | ||
scudo_interface_internal.h | ||
scudo_malloc.cpp | ||
scudo_new_delete.cpp | ||
scudo_platform.h | ||
scudo_termination.cpp | ||
scudo_tsd.h | ||
scudo_tsd_exclusive.cpp | ||
scudo_tsd_exclusive.inc | ||
scudo_tsd_shared.cpp | ||
scudo_tsd_shared.inc | ||
scudo_utils.cpp | ||
scudo_utils.h |