llvm-project/llvm/lib/ExecutionEngine/Orc
Lang Hames a4a227f7e8 [Orc] Directly emit machine code for the x86 resolver block and trampolines.
Bypassing LLVM for this has a number of benefits:

1) Laziness support becomes asm-syntax agnostic (previously lazy jitting didn't
   work on Windows as the resolver block was in Darwin asm).

2) For cross-process JITs, it allows resolver blocks and trampolines to be
   emitted directly in the target process, reducing cross process traffic.

3) It should be marginally faster.

llvm-svn: 251933
2015-11-03 16:10:18 +00:00
..
CMakeLists.txt [Orc] Re-add C bindings for the Orc APIs, with a fix to remove the union that 2015-10-28 02:40:04 +00:00
ExecutionUtils.cpp [Orc] Add support classes for inspecting and running C++ static ctor/dtors, and 2015-04-02 04:34:45 +00:00
IndirectionUtils.cpp [Orc] Add support for emitting indirect stubs directly into the JIT target's 2015-10-19 17:43:51 +00:00
LLVMBuild.txt Orc/LLVMBuild.txt: Prune redundant "Target" in libdeps. 2015-01-25 11:41:41 +00:00
Makefile
NullResolver.cpp Fix line endings (NFC) 2015-06-22 21:37:34 +00:00
OrcCBindings.cpp [Orc] Directly emit machine code for the x86 resolver block and trampolines. 2015-11-03 16:10:18 +00:00
OrcCBindingsStack.cpp [Orc] Directly emit machine code for the x86 resolver block and trampolines. 2015-11-03 16:10:18 +00:00
OrcCBindingsStack.h [Orc] Directly emit machine code for the x86 resolver block and trampolines. 2015-11-03 16:10:18 +00:00
OrcMCJITReplacement.cpp [ExecutionEngine] ArrayRefize argument passing. 2015-06-13 19:50:29 +00:00
OrcMCJITReplacement.h [Orc] Add support for RuntimeDyld::setProcessAllSections. 2015-10-29 03:52:58 +00:00
OrcTargetSupport.cpp [Orc] Directly emit machine code for the x86 resolver block and trampolines. 2015-11-03 16:10:18 +00:00