diff options
author | Lang Hames <lhames@gmail.com> | 2025-10-09 13:10:34 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-09 13:10:34 +1100 |
commit | 891f002026df122b36813b9e1819769c94327503 (patch) | |
tree | 6c22efa002ebb86432fd0430d93b2233019b2a29 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 3ccc888f1a01c9cd5fc432790f6d10bab602a118 (diff) | |
download | llvm-891f002026df122b36813b9e1819769c94327503.zip llvm-891f002026df122b36813b9e1819769c94327503.tar.gz llvm-891f002026df122b36813b9e1819769c94327503.tar.bz2 |
[orc-rt] Add SimpleNativeMemoryMap. (#162584)
SimpleNativeMemoryMap is a memory allocation backend for use with ORC.
It can...
1. Reserve slabs of address space.
2. Finalize regions of memory within a reserved slab: copying content
into requested addresses, applying memory protections, running
finalization actions, and storing deallocation actions to be run by
deallocate.
3. Deallocate finalized memory regions: running deallocate actions and,
if possible, making memory in these regions available for use by future
finalization operations. (Some systems prohibit reuse of executable
memory. On these systems deallocated memory is no longer usable within
the process).
4. Release reserved slabs. This runs deallocate for any
not-yet-deallocated finalized regions, and then (if possible) returns
the address space to system. (On systems that prohibit reuse of
executable memory parts of the released address space may be permanently
unusable by the process).
SimpleNativeMemoryMap is intended primarily for use by
llvm::orc::JITLinkMemoryManager implementations to allocate JIT'd code
and data.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions