diff options
author | ChiaHungDuan <chiahungduan@google.com> | 2023-09-28 13:05:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-28 13:05:35 -0700 |
commit | 54ddd0762bd0dac31c9e2732bf807cea1785f091 (patch) | |
tree | 0f61ac85d56947901eaf5832b17809b0040554db /clang/lib/Basic/SourceManager.cpp | |
parent | 12866a2b87038abf2d69f2a6040a4ff4ce27b6cd (diff) | |
download | llvm-54ddd0762bd0dac31c9e2732bf807cea1785f091.zip llvm-54ddd0762bd0dac31c9e2732bf807cea1785f091.tar.gz llvm-54ddd0762bd0dac31c9e2732bf807cea1785f091.tar.bz2 |
[scudo] Update header without read-modify-write operation (#66955)
We used to update the deallocated block with
atomic_compare_exchange_strong to ensure the concurrent double-free will
be detected. However, this operation incurs huge performance overhead
which takes over 50% execution time in deallocate(). Given that we
already have the checksum to guard the most double-free cases and other
block verifications in the primary allocator, use atomic-store instead.
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions