aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorChiaHungDuan <chiahungduan@google.com>2023-09-28 13:05:35 -0700
committerGitHub <noreply@github.com>2023-09-28 13:05:35 -0700
commit54ddd0762bd0dac31c9e2732bf807cea1785f091 (patch)
tree0f61ac85d56947901eaf5832b17809b0040554db /clang/lib/Basic/SourceManager.cpp
parent12866a2b87038abf2d69f2a6040a4ff4ce27b6cd (diff)
downloadllvm-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