llvm-project/llvm/lib/ExecutionEngine/Orc
Lang Hames c0fdc74887 [ORC] Add helper functions for running finalize / dealloc actions.
runFinalizeActions takes an AllocActions vector and attempts to run its finalize
actions. If any finalize action fails then all paired dealloc actions up to the
failing pair are run, and the error(s) returned. If all finalize actions succeed
then a vector containing the dealloc actions is returned.

runDeallocActions takes a vector<WrapperFunctionCall> containing dealloc action
calls and runs them all, returning any error(s).

These helpers are intended to simplify the implementation of
JITLinkMemoryManager::InFlightAlloc::finalize and
JITLinkMemoryManager::deallocate overrides by taking care of execution (and
potential roll-back) of allocation actions.
2022-01-10 19:13:58 +11:00
..
Shared [ORC] Add helper functions for running finalize / dealloc actions. 2022-01-10 19:13:58 +11:00
TargetProcess [ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall. 2022-01-08 16:46:15 +11:00
CMakeLists.txt [ORC] Add MaterializationUnit::Interface parameter to ObjectLayer::add. 2021-12-15 12:03:55 +11:00
CompileOnDemandLayer.cpp [ORC] Add a MaterializationUnit::Interface struct. 2021-12-08 13:41:15 +11:00
CompileUtils.cpp [llvm] Add null-termination capability to SmallVectorMemoryBuffer 2021-12-09 11:32:13 +01:00
Core.cpp [llvm] Use true/false instead of 1/0 (NFC) 2022-01-07 00:39:14 -08:00
DebugObjectManagerPlugin.cpp Re-apply "[JITLink] Update JITLink to use ExecutorAddr rather... " with fixes. 2022-01-06 17:22:21 +11:00
DebugUtils.cpp [llvm] Use llvm::drop_begin (NFC) 2021-02-22 20:17:16 -08:00
DebuggerSupportPlugin.cpp [ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall. 2022-01-08 16:46:15 +11:00
ELFNixPlatform.cpp Re-apply "[JITLink] Update JITLink to use ExecutorAddr rather... " with fixes. 2022-01-06 17:22:21 +11:00
EPCDebugObjectRegistrar.cpp Re-apply e50aea58d5, "Major JITLinkMemoryManager refactor". with fixes. 2021-10-11 21:39:00 -07:00
EPCDynamicLibrarySearchGenerator.cpp [ORC] Require ExecutorProcessControl when constructing an ExecutionSession. 2021-07-27 16:53:49 +10:00
EPCEHFrameRegistrar.cpp [ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall. 2022-01-08 16:46:15 +11:00
EPCGenericDylibManager.cpp [ORC] Switch from JITTargetAddress to ExecutorAddr for EPC-call APIs. 2021-09-27 16:53:09 -07:00
EPCGenericJITLinkMemoryManager.cpp [ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall. 2022-01-08 16:46:15 +11:00
EPCGenericRTDyldMemoryManager.cpp [ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall. 2022-01-08 16:46:15 +11:00
EPCIndirectionUtils.cpp Re-apply "[JITLink] Update JITLink to use ExecutorAddr rather... " with fixes. 2022-01-06 17:22:21 +11:00
ExecutionUtils.cpp [ORC] Add custom object interface support to StaticLibaryDefinitionGenerator. 2021-12-16 19:46:51 +11:00
ExecutorProcessControl.cpp [ORC] Move CWrapperFunctionResult out of the detail:: namespace. 2021-10-30 16:12:45 -07:00
IRCompileLayer.cpp
IRTransformLayer.cpp
IndirectionUtils.cpp Re-apply "[JITLink] Update JITLink to use ExecutorAddr rather... " with fixes. 2022-01-06 17:22:21 +11:00
JITTargetMachineBuilder.cpp Move TargetRegistry.(h|cpp) from Support to MC 2021-10-08 14:51:48 -07:00
LLJIT.cpp [Orc] Fix global variable destructor function support when --jit-kind=orc-lazy 2021-10-09 15:58:21 +08:00
Layer.cpp [ORC] Add MaterializationUnit::Interface parameter to ObjectLayer::add. 2021-12-15 12:03:55 +11:00
LazyReexports.cpp [ORC] Add a MaterializationUnit::Interface struct. 2021-12-08 13:41:15 +11:00
LookupAndRecordAddrs.cpp [ORC] Rename ExecutorAddress to ExecutorAddr. 2021-09-23 20:35:17 -07:00
MachOPlatform.cpp [ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall. 2022-01-08 16:46:15 +11:00
Mangling.cpp [ORC] Add MaterializationUnit::Interface parameter to ObjectLayer::add. 2021-12-15 12:03:55 +11:00
ObjectFileInterface.cpp [ORC] Add MaterializationUnit::Interface parameter to ObjectLayer::add. 2021-12-15 12:03:55 +11:00
ObjectLinkingLayer.cpp [ORC][JITLink] Merge JITLink AllocActionCall and ORC WrapperFunctionCall. 2022-01-08 16:46:15 +11:00
ObjectTransformLayer.cpp [Orc] Use extensible RTTI for the orc::ObjectLayer class hierarchy 2021-02-26 13:13:05 +01:00
OrcABISupport.cpp
OrcV2CBindings.cpp [llvm] Use nullptr instead of 0 (NFC) 2021-12-28 08:52:25 -08:00
RTDyldObjectLinkingLayer.cpp [Orc] Use extensible RTTI for the orc::ObjectLayer class hierarchy 2021-02-26 13:13:05 +01:00
SimpleRemoteEPC.cpp [ORC] Run incoming jit-dispatch calls via the TaskDispatcher in SimpleRemoteEPC. 2021-11-01 15:49:14 -07:00
SpeculateAnalyses.cpp [llvm] Use llvm::sort (NFC) 2021-01-17 10:39:45 -08:00
Speculation.cpp
TaskDispatch.cpp [ORC] Add TaskDispatch API and thread it through ExecutorProcessControl. 2021-10-10 18:39:55 -07:00
ThreadSafeModule.cpp