[PATCH] D58704: Initial (incomplete) implementation of JITLink - A replacement for RuntimeDyld.

Lang Hames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 17 11:28:05 PDT 2019


lhames updated this revision to Diff 195605.
lhames added a comment.
Herald added a subscriber: mstorsjo.

Another big update.

- Improved eh-frame support. C++ exception handling now works in JIT'd code (for MachO/x86-64).
- The llvm-jitlink tool now supports basic RuntimeDyld checker tests (support for remapping sections and injecting symbols still to come)
- Add a 'global' flag to atoms so that we don't try to resolve local symbols in Orc (avoiding 'resolving outside responsibility set' assertions in ORC Core).
- Supports all MachO/x86-64 relocations except for TLV.

Regression test cases and full RuntimeDyldChecker support still to come.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58704/new/

https://reviews.llvm.org/D58704

Files:
  include/llvm/ExecutionEngine/JITLink/JITLink.h
  include/llvm/ExecutionEngine/JITLink/JITLink_EHFrameSupport.h
  include/llvm/ExecutionEngine/JITLink/JITLink_MachO.h
  include/llvm/ExecutionEngine/JITLink/JITLink_MachO_x86_64.h
  include/llvm/ExecutionEngine/JITSymbol.h
  include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
  include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
  include/llvm/Support/Memory.h
  lib/ExecutionEngine/CMakeLists.txt
  lib/ExecutionEngine/JITLink/CMakeLists.txt
  lib/ExecutionEngine/JITLink/JITLink.cpp
  lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
  lib/ExecutionEngine/JITLink/JITLinkGeneric.h
  lib/ExecutionEngine/JITLink/JITLink_EHFrameSupport.cpp
  lib/ExecutionEngine/JITLink/JITLink_EHFrameSupportImpl.h
  lib/ExecutionEngine/JITLink/JITLink_MachO.cpp
  lib/ExecutionEngine/JITLink/JITLink_MachO_x86_64.cpp
  lib/ExecutionEngine/JITLink/LLVMBuild.txt
  lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.cpp
  lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.h
  lib/ExecutionEngine/LLVMBuild.txt
  lib/ExecutionEngine/Orc/CMakeLists.txt
  lib/ExecutionEngine/Orc/Core.cpp
  lib/ExecutionEngine/Orc/ExecutionUtils.cpp
  lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
  lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
  lib/Support/Memory.cpp
  tools/lli/lli.cpp
  tools/llvm-jitlink/CMakeLists.txt
  tools/llvm-jitlink/LLVMBuild.txt
  tools/llvm-jitlink/llvm-jitlink-macho.cpp
  tools/llvm-jitlink/llvm-jitlink.cpp
  tools/llvm-jitlink/llvm-jitlink.h
  unittests/ExecutionEngine/CMakeLists.txt
  unittests/ExecutionEngine/JITLink/CMakeLists.txt
  unittests/ExecutionEngine/JITLink/JITLinkTestCommon.cpp
  unittests/ExecutionEngine/JITLink/JITLinkTestCommon.h
  unittests/ExecutionEngine/JITLink/JITLinkTest_MachO_x86_64_Tests.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58704.195605.patch
Type: text/x-patch
Size: 216264 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190417/ed88ee5d/attachment-0001.bin>


More information about the llvm-commits mailing list