1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/unittests/ExecutionEngine/Orc
Lang Hames 310a62559f [ORC] Add a "lazy call-through" utility based on the same underlying trampoline
implementation as lazy compile callbacks, and a "lazy re-exports" utility that
builds lazy call-throughs.

Lazy call-throughs are similar to lazy compile callbacks (and are based on the
same underlying state saving/restoring trampolines) but resolve their targets
by performing a standard ORC lookup rather than invoking a user supplied
compiler callback. This allows them to inherit the thread-safety of ORC lookups
while blocking only the calling thread (whereas compile callbacks also block one
compile thread).

Lazy re-exports provide a simple way of building lazy call-throughs. Unlike a
regular re-export, a lazy re-export generates a new address (a stub entry point)
that will act like the re-exported symbol when called. The first call via a
lazy re-export will trigger compilation of the re-exported symbol before calling
through to it.

llvm-svn: 343061
2018-09-26 04:18:30 +00:00
..
CMakeLists.txt [ORC] Add a "lazy call-through" utility based on the same underlying trampoline 2018-09-26 04:18:30 +00:00
CompileOnDemandLayerTest.cpp [ORC] Refactor trampoline pool management out of JITCompileCallbackManager. 2018-09-26 03:32:12 +00:00
CoreAPIsTest.cpp [ORC] Add a "lazy call-through" utility based on the same underlying trampoline 2018-09-26 04:18:30 +00:00
GlobalMappingLayerTest.cpp [ORC] Update the GlobalMappingLayer interface to fit the error-ized layer 2017-09-28 02:17:35 +00:00
IndirectionUtilsTest.cpp Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
LazyCallThroughAndReexportsTest.cpp [ORC] Add a "lazy call-through" utility based on the same underlying trampoline 2018-09-26 04:18:30 +00:00
LazyEmittingLayerTest.cpp [ORC] Start migrating ORC layers to use the new ORC Core.h APIs. 2018-02-06 21:25:11 +00:00
LegacyAPIInteropTest.cpp [ORC] Tidy up JITSymbolFlags to remove the need for some explicit static_casts. 2018-09-02 01:28:26 +00:00
ObjectTransformLayerTest.cpp [ORC] Create a new SymbolStringPool by default in ExecutionSession constructor. 2018-04-02 20:57:56 +00:00
OrcCAPITest.cpp [ORC] Add findSymbolIn() wrapper to C bindings, take #2. 2018-05-24 18:44:34 +00:00
OrcTestCommon.cpp [ORC] Replace SymbolResolvers in the new ORC layers with search orders on VSOs. 2018-07-20 18:31:50 +00:00
OrcTestCommon.h [ORC] Add a "lazy call-through" utility based on the same underlying trampoline 2018-09-26 04:18:30 +00:00
QueueChannel.cpp [Orc] Break QueueChannel out into its own header and add a utility, 2017-04-06 01:49:21 +00:00
QueueChannel.h Re-sort #include lines for unittests. This uses a slightly modified 2017-06-06 11:06:56 +00:00
RemoteObjectLayerTest.cpp [ORC] Switch RTDyldObjectLinkingLayer to take a unique_ptr<MemoryBuffer> rather 2018-02-21 21:55:49 +00:00
RPCUtilsTest.cpp [ORC] Add SerializationTraits for std::set and std::map. 2018-07-30 21:08:06 +00:00
RTDyldObjectLinkingLayer2Test.cpp [ORC] Add ThreadSafeModule and ThreadSafeContext wrappers to support concurrent 2018-09-26 01:24:12 +00:00
RTDyldObjectLinkingLayerTest.cpp Remove some unnecessary constructor arguments. 2018-09-05 20:57:41 +00:00
SymbolStringPoolTest.cpp [ORC] Add dereference operator to SymbolStringPtr. 2018-01-05 00:04:13 +00:00