diff options
| author | Dan Liew <dan@su-root.co.uk> | 2018-11-15 14:20:28 +0000 |
|---|---|---|
| committer | Dan Liew <dan@su-root.co.uk> | 2018-11-15 14:20:28 +0000 |
| commit | ee6eb9b25af94976c11cb90ff79160435217c976 (patch) | |
| tree | 49fe26c615e449c0b4a1170c4abf3e46c9d28350 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | fd4d45514f13fad43ad00390d6e388deeb787f35 (diff) | |
Start adding the supporting code to perform out-of-process allocator
enumeration.
Summary:
This patch introduces the local portion (`LocalAddressSpaceView`) of the
`AddressSpaceView` abstraction and modifies the secondary allocator
so that the `ForEachChunk()` method (and its callees) would work in the
out-of-process case when `AddressSpaceView` is `RemoteAddressSpaceView`.
The `AddressSpaceView` abstraction simply maps pointers from a target
process to a pointer in the local process (via its `Load()` method). For
the local (in-process) case this is a no-op. For the remote
(out-of-process) case this is not a no-op. The implementation of the
out-of-process `RemoteAddressSpaceView` is not included in this patch
and will be introduced later.
This patch is considerably simpler than the `ObjectView` abstraction
used in previous patches but lacks the type safety and stricter memory
management of the `ObjectView` abstraction.
This patch does not introduce any tests because with
`LocalAddressSpaceView` it should be a non functional change and unit
tests already cover the secondary allocator. When
`RemoteAddressSpaceView` is landed tests will be added to ensure that it
functions as expected.
rdar://problem/45284065
Reviewers: kcc, kubamracek, dvyukov, vitalybuka, cryptoad,
george.karpenkov, morehouse
Subscribers: #sanitizers, llvm-commits
Differential Revision: https://reviews.llvm.org/D53975
llvm-svn: 346956
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
