diff options
author | Kostya Kortchinsky <kostyak@google.com> | 2020-11-09 15:14:49 -0800 |
---|---|---|
committer | Kostya Kortchinsky <kostyak@google.com> | 2020-11-16 12:43:10 -0800 |
commit | f0703cb1b24be4f915257f91a290a3d92ac6cd4f (patch) | |
tree | 0aec3f8bb19dc222ae287b2e2e81b18c42ce460b /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 7c62c6313baebb4866dd51a095c66c7808af868b (diff) | |
download | llvm-f0703cb1b24be4f915257f91a290a3d92ac6cd4f.zip llvm-f0703cb1b24be4f915257f91a290a3d92ac6cd4f.tar.gz llvm-f0703cb1b24be4f915257f91a290a3d92ac6cd4f.tar.bz2 |
[scudo][standalone] Correct min/max region indices
The original code to keep track of the minimum and maximum indices
of allocated 32-bit primary regions was sketchy at best.
`MinRegionIndex` & `MaxRegionIndex` were shared between all size
classes, and could (theoretically) have been updated concurrently. This
didn't materialize anywhere I could see, but still it's not proper.
This changes those min/max indices by making them class specific rather
than global: classes are locked when growing, so there is no
concurrency there. This also allows to simplify some of the 32-bit
release code, that now doesn't have to go through all the regions to
get the proper min/max. Iterate and unmap will no longer have access to
the global min/max, but they aren't used as much so this is fine.
Differential Revision: https://reviews.llvm.org/D91106
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions