diff options
author | Lang Hames <lhames@gmail.com> | 2015-11-03 16:10:18 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2015-11-03 16:10:18 +0000 |
commit | a4a227f7e881de24ab150d6277d59b256b55d99a (patch) | |
tree | 912c05ce58292facd2e6713c95b78045d8fda0bb /llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp | |
parent | 862432c90e25f0901b77aff92cc6e48acd4b212b (diff) | |
download | bcm5719-llvm-a4a227f7e881de24ab150d6277d59b256b55d99a.tar.gz bcm5719-llvm-a4a227f7e881de24ab150d6277d59b256b55d99a.zip |
[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
Diffstat (limited to 'llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp')
-rw-r--r-- | llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp index ecfefe47c36..078cbdaa300 100644 --- a/llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp +++ b/llvm/unittests/ExecutionEngine/Orc/CompileOnDemandLayerTest.cpp @@ -19,11 +19,11 @@ namespace { class DummyCallbackManager : public orc::JITCompileCallbackManagerBase { public: DummyCallbackManager() - : JITCompileCallbackManagerBase(0, 0), NextStubAddress(0), + : JITCompileCallbackManagerBase(0), NextStubAddress(0), UniversalCompile([]() { return 0; }) { } - CompileCallbackInfo getCompileCallback(LLVMContext &Context) override { + CompileCallbackInfo getCompileCallback() override { return CompileCallbackInfo(++NextStubAddress, UniversalCompile); } public: |