MCJIT support for non-function sections.
authorJim Grosbach <grosbach@apple.com>
Mon, 16 Jan 2012 22:26:39 +0000 (22:26 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 16 Jan 2012 22:26:39 +0000 (22:26 +0000)
commit61425c0a7f4e3608a85f7bbf254cd052a15b7446
tree54cde5d3f935fec86f9d6bd60ce2ccbea3376cf7
parent27bf56056bed53d55d7ef0fd67d1851fa860b4f2
MCJIT support for non-function sections.

Move to a by-section allocation and relocation scheme. This allows
better support for sections which do not contain externally visible
symbols.

Flesh out the relocation address vs. local storage address separation a
bit more as well. Remote process JITs use this to tell the relocation
resolution code where the code will live when it executes.

The startFunctionBody/endFunctionBody interfaces to the JIT and the
memory manager are deprecated. They'll stick around for as long as the
old JIT does, but the MCJIT doesn't use them anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148258 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ExecutionEngine/JITMemoryManager.h
include/llvm/ExecutionEngine/RuntimeDyld.h
lib/ExecutionEngine/JIT/JITMemoryManager.cpp
lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
tools/llvm-rtdyld/llvm-rtdyld.cpp
unittests/ExecutionEngine/JIT/JITTest.cpp