diff options
author | Kostya Kortchinsky <kostyak@google.com> | 2020-10-22 15:53:50 -0700 |
---|---|---|
committer | Kostya Kortchinsky <kostyak@google.com> | 2020-10-26 13:32:08 -0700 |
commit | 612e02ee8c3e8f204378796af2eb526cf5e348f0 (patch) | |
tree | d058d11f5c038afc533911b2c23cafe45111b4e1 /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
parent | 56a5b4b1bfafa27dcc0fe48a3095ebc19ac26256 (diff) | |
download | llvm-612e02ee8c3e8f204378796af2eb526cf5e348f0.zip llvm-612e02ee8c3e8f204378796af2eb526cf5e348f0.tar.gz llvm-612e02ee8c3e8f204378796af2eb526cf5e348f0.tar.bz2 |
[GWP-ASan] Refactor memory mapping functions
In preparation for Fuchsia support, this CL refactors the memory
mapping functions.
The new functions are as follows:
- for Freeslots and Metadata:
`void *map(size_t Size, const char *Name) const;`
`void unmap(void *Ptr, size_t Size) const;`
- for the Pool:
`void *reservePool(size_t Size);`
`void commitPool(void *Ptr, size_t Size) const;`
`void decommitPool(void *Ptr, size_t Size) const;`
`void unreservePool();`
Note that those don't need a `Name` parameter as those are fixed per
function. `{reserve,unreserve}Pool` are not `const` because they will
modify platform specific class member on Fuchsia.
I added a plethora of `assert()` as the initial code was not enforcing
page alignment for sizes and addresses, which caused problem in the
initial Fuchsia draft. All sizes should now be properly rounded up to
a page.
Differential Revision: https://reviews.llvm.org/D89993
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions