mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-24 22:08:57 -04:00
![]() switch RTDyldObjectLinkingLayer2 to use it. RuntimeDyld::loadObject is currently a blocking operation. This means that any JIT'd code whose call-graph contains an embedded complete K graph will require at least K threads to link, which precludes the use of a fixed sized thread pool for concurrent JITing of arbitrary code (whatever K the thread-pool is set at, any code with a K+1 complete subgraph will deadlock at JIT-link time). To address this issue, this commmit introduces a function called jitLinkForORC that uses continuation-passing style to pass the fix-up and finalization steps to the asynchronous symbol resolver interface so that linking can be performed without blocking. llvm-svn: 343043 |
||
---|---|---|
.. | ||
IntelJITEvents | ||
Interpreter | ||
MCJIT | ||
OProfileJIT | ||
Orc | ||
PerfJITEvents | ||
RuntimeDyld | ||
CMakeLists.txt | ||
ExecutionEngine.cpp | ||
ExecutionEngineBindings.cpp | ||
GDBRegistrationListener.cpp | ||
LLVMBuild.txt | ||
SectionMemoryManager.cpp | ||
TargetSelect.cpp |