Go to file
Kostya Kortchinsky b44364dd15 [scudo] Do not grab a cache for secondary allocation & per related changes
Summary:
Secondary backed allocations do not require a cache. While it's not necessary
an issue when each thread has its cache, it becomes one with a shared pool of
caches (Android), as a Secondary backed allocation or deallocation holds a
cache that could be useful to another thread doing a Primary backed allocation.

We introduce an additional PRNG and its mutex (to avoid contention with the
Fallback one for Primary allocations) that will provide the `Salt` needed for
Secondary backed allocations.

I changed some of the code in a way that feels more readable to me (eg: using
some values directly rather than going  through ternary assigned variables,
using directly `true`/`false` rather than `FromPrimary`). I will let reviewers
decide if it actually is.

An additional change is to mark `CheckForCallocOverflow` as `UNLIKELY`.

Reviewers: alekseyshl

Reviewed By: alekseyshl

Subscribers: llvm-commits

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

llvm-svn: 307958
2017-07-13 21:01:19 +00:00
clang [ubsan] Teach the pointer overflow check that "p - <unsigned> <= p" (PR33430) 2017-07-13 20:55:26 +00:00
clang-tools-extra clang-tools-extra/test/clang-tidy/performance-unnecessary-value-param-header.cpp: Resolve flakiness in the test. 2017-07-13 02:06:30 +00:00
compiler-rt [scudo] Do not grab a cache for secondary allocation & per related changes 2017-07-13 21:01:19 +00:00
debuginfo-tests Add a test for PR33166. 2017-05-25 19:33:16 +00:00
libclc generic: add missing get_work_dim include 2017-06-02 15:58:35 +00:00
libcxx [libc++] Use proper template terminology. NFC 2017-07-13 20:47:24 +00:00
libcxxabi [demangler] Respect try_to_parse_template_args 2017-07-13 19:37:37 +00:00
libunwind [libunwind][CMake] Add install path variable to allow overriding the destination 2017-07-11 01:12:09 +00:00
lld Move feature-specific functions out of Strings.cpp. 2017-07-13 20:30:35 +00:00
lldb Fix debugserver accepting remote connections 2017-07-13 20:58:13 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [Dominators] Simplify templates 2017-07-13 20:45:32 +00:00
openmp [GOMP] Fix (un)tied tasks with the GCC 2017-07-13 10:38:11 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [Invariant Loads] Do not consider invariant loads to have dependences. 2017-07-13 12:18:56 +00:00