summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/ASTMerge.cpp
diff options
context:
space:
mode:
authorKostya Kortchinsky <kostyak@google.com>2018-03-12 19:29:38 +0000
committerKostya Kortchinsky <kostyak@google.com>2018-03-12 19:29:38 +0000
commite95ef87663eef176b818131dd5de8a08938dbe8c (patch)
treef657d4ff0955f09474ddabca3ccc7ce6a5145ed9 /clang/lib/Frontend/ASTMerge.cpp
parent77a5f21f0e250b960cd97e636330b8af6f6d0c96 (diff)
downloadbcm5719-llvm-e95ef87663eef176b818131dd5de8a08938dbe8c.tar.gz
bcm5719-llvm-e95ef87663eef176b818131dd5de8a08938dbe8c.zip
[scudo] Secondary allocator overhaul to support Windows
Summary: The need for this change stems from the fact that Windows doesn't support partial unmapping (`MEM_RELEASE` implies the entire allocated region). So we now have to keep track of the reserved region and the committed region, so that we can function without the trimming we did when dealing with larger alignments. Instead of just having a `ReservedAddressRange` per chunk, we introduce a `LargeChunkHeader` (and `LargeChunk` namespace) that additionally holds the committed size and the usable size. The former is needed for stats purposes, the latter is used by the frontend. Requiring both is debatable, we could only work with the usable size but then be off by up to a page per chunk when dealing with stats. Additionally, we introduce more stats since they turned out to be useful for experiments, and a `PrintStats` function that will be used by the combined allocator in later patch. Reviewers: alekseyshl, flowerhack Reviewed By: alekseyshl Subscribers: delcypher, #sanitizers, llvm-commits Differential Revision: https://reviews.llvm.org/D43949 llvm-svn: 327321
Diffstat (limited to 'clang/lib/Frontend/ASTMerge.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud