diff options
author | Kostya Kortchinsky <kostyak@google.com> | 2020-12-11 14:04:47 -0800 |
---|---|---|
committer | Kostya Kortchinsky <kostyak@google.com> | 2020-12-17 10:01:57 -0800 |
commit | 1dbf2c96bce93e0a954806d9bdcafcb702a06672 (patch) | |
tree | 4970d3686b344a8407df48908f13774e505181aa /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 4a327bd25289efdfb1c466b119e6e55fadebfc42 (diff) | |
download | llvm-1dbf2c96bce93e0a954806d9bdcafcb702a06672.zip llvm-1dbf2c96bce93e0a954806d9bdcafcb702a06672.tar.gz llvm-1dbf2c96bce93e0a954806d9bdcafcb702a06672.tar.bz2 |
[scudo][standalone] Allow the release of smaller sizes
Initially we were avoiding the release of smaller size classes due to
the fact that it was an expensive operation, particularly on 32-bit
platforms. With a lot of batches, and given that there are a lot of
blocks per page, this was a lengthy operation with little results.
There has been some improvements since then to the 32-bit release,
and we still have some criterias preventing us from wasting time
(eg, 9x% free blocks in the class size, etc).
Allowing to release blocks < 128 bytes helps in situations where a lot
of small chunks would not have been reclaimed if not for a forced
reclaiming.
Additionally change some `CHECK` to `DCHECK` and rearrange a bit the
code.
I didn't experience any regressions in my benchmarks.
Differential Revision: https://reviews.llvm.org/D93141
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions