aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Function.cpp
diff options
context:
space:
mode:
authorLeonard Chan <leonardchan@google.com>2023-08-29 19:06:03 +0000
committerLeonard Chan <leonardchan@google.com>2023-08-31 22:27:14 +0000
commit7ce67d33107fd86b7fac985a593e14298944a3a8 (patch)
tree4abb96591f7fe58f042dd3f112969f8712e659d7 /llvm/lib/IR/Function.cpp
parent764287f1ad69469cc264bb094e8fcdcfdd0fcdfb (diff)
downloadllvm-7ce67d33107fd86b7fac985a593e14298944a3a8.zip
llvm-7ce67d33107fd86b7fac985a593e14298944a3a8.tar.gz
llvm-7ce67d33107fd86b7fac985a593e14298944a3a8.tar.bz2
[scudo][tests] Store the allocator instance in a global rather than posix_memalign it
The combined scudo allocator object is over 4MB in size which gets created via the posix_memalign on every test run. If the tests are sanitized with asan, then the asan allocator will need to mmap this large object every single time a test is run. Depending on where this is mapped, we might not be able to find a large enough contiguous space for scudo's primary allocator to reserve an arena. Such a case is more likely to occur on 39-bit vma for RISCV where the arena size is roughly a quarter of the whole address space and fragmentation can be a big issue. This helps reduce fragmentation by instead placing the allocator instance in a global storage rather than doing an anonymous mmap. Differential Revision: https://reviews.llvm.org/D158767
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
0 files changed, 0 insertions, 0 deletions