[PATCH] D53773: [ExecutionEngine] Track objects using an abstract ObjectKey in JITEventListeners.
Lang Hames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 26 12:02:20 PDT 2018
lhames created this revision.
lhames added reviewers: andrew.w.kaylor, eliben, jyasskin, rpgurd, anarazel, reames, loladiro.
Herald added a subscriber: llvm-commits.
The aim of this patch is to enable JITEventListeners to work with ORC without
forcing us to keep object files alive longer than necessary.
Currently JITEventListener::NotifyObjectEmitted and NotifyObjectFreed take a
reference to the object file being emitted, but in NotifyObjectFreed this is
only ever used as a key to deallocate resources that were allocated in
NotifyObjectEmitted. Switching to an abstract key allows the JIT to deallocate
object file buffers after NotifyObjectEmitted has been called.
No guarantee is made about the key value, except that it will be distinct for
each object that has been allocated. Keys may be re-used after they are freed.
Repository:
rL LLVM
https://reviews.llvm.org/D53773
Files:
include/llvm/ExecutionEngine/JITEventListener.h
lib/ExecutionEngine/GDBRegistrationListener.cpp
lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp
lib/ExecutionEngine/MCJIT/MCJIT.cpp
lib/ExecutionEngine/MCJIT/MCJIT.h
lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp
lib/ExecutionEngine/Orc/OrcCBindingsStack.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53773.171327.patch
Type: text/x-patch
Size: 12592 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181026/8b48ba01/attachment.bin>
More information about the llvm-commits
mailing list