teak-llvm/llvm/lib/ExecutionEngine
Lang Hames abeedf1812 [ORC] Add an asynchronous jit-link function, jitLinkForORC, to RuntimeDyld and
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
2018-09-25 22:57:44 +00:00
..
IntelJITEvents Remove trailing space 2018-07-30 19:41:25 +00:00
Interpreter Remove trailing space 2018-07-30 19:41:25 +00:00
MCJIT [MCJIT] Fix a case of Error::success() being passed to report_fatal_error. 2018-08-15 20:11:21 +00:00
OProfileJIT Add debug info for OProfile profiling support 2018-06-15 00:07:28 +00:00
Orc [ORC] Add an asynchronous jit-link function, jitLinkForORC, to RuntimeDyld and 2018-09-25 22:57:44 +00:00
PerfJITEvents Add PerfJITEventListener for perf profiling support. 2018-07-24 00:54:06 +00:00
RuntimeDyld [ORC] Add an asynchronous jit-link function, jitLinkForORC, to RuntimeDyld and 2018-09-25 22:57:44 +00:00
CMakeLists.txt Add PerfJITEventListener for perf profiling support. 2018-07-24 00:54:06 +00:00
ExecutionEngine.cpp Add handling for GlobalAliases in ExecutionEngine::getConstantValue. 2018-05-24 19:07:34 +00:00
ExecutionEngineBindings.cpp Remove trailing space 2018-07-30 19:41:25 +00:00
GDBRegistrationListener.cpp [C-API] Add functions to create GDB, Intel, Oprofile event listeners. 2018-05-24 21:32:54 +00:00
LLVMBuild.txt Add PerfJITEventListener for perf profiling support. 2018-07-24 00:54:06 +00:00
SectionMemoryManager.cpp Add missing vtable anchors 2018-04-11 23:09:20 +00:00
TargetSelect.cpp [TLS] use emulated TLS if the target supports only this mode 2018-02-28 17:48:55 +00:00