[PATCH] D130392: [Orc][JITLink] Slab based memory allocator to reduce RPC calls
Anubhab Ghosh via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 7 05:19:03 PDT 2022
argentite added inline comments.
================
Comment at: llvm/include/llvm/ExecutionEngine/Orc/MapperJITLinkMemoryManager.h:55-58
+ // Ranges that have been reserved in executor and usable
+ std::vector<ExecutorAddrRange> AvailableMemory;
+ // Ranges that have been reserved on both side
+ DenseMap<ExecutorAddr, ExecutorAddrDiff> UsedMemory;
----------------
lhames wrote:
> > // Ranges that have been reserved on both side
> > DenseMap<ExecutorAddr, ExecutorAddrDiff> UsedMemory;
>
> I didn't understand this comment? This is just the used memory list, right? Whether or not there's any memory associated with it on the controller side should be up to the mapper, rather than the allocator.
I have tried to make the language clearer.
================
Comment at: llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp:164
+
+ AvailableMemory.push_back({Addr, Addr + Size});
FA.release();
----------------
lhames wrote:
> There's no coalescing of the `AvailableMemory` list yet, so you'll get fragmentation in the allocator. I think that should be addressed in a follow-up patch though.
I plan to do a more efficient implementation as a follow up.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130392/new/
https://reviews.llvm.org/D130392
More information about the llvm-commits
mailing list