[ORC] Generalize emit re-entry, stub, etc. APIs for working addr != link addr.
authorLang Hames <lhames@gmail.com>
Mon, 13 Jul 2020 04:56:45 +0000 (21:56 -0700)
committerLang Hames <lhames@gmail.com>
Mon, 13 Jul 2020 17:15:10 +0000 (10:15 -0700)
commitfb7ef0bb0b9c6964387391a3e1759c0a3320df87
treed3bed79f32c9cffe2c1407cecc6b3d803d0810e7
parenta1fc26030a42e9639e678344a4c08014a8cbba3d
[ORC] Generalize emit re-entry, stub, etc. APIs for working addr != link addr.

This patch generalizes the APIs for writing re-entry blocks, trampolines and
stubs to allow their final linked address to differ from the address of
their initial working memory. This will allow these routines to be used with
JITLinkMemoryManagers, which will in turn allow for unification of code paths
for in-process and cross-process lazy JITing.
llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp