Lang Hames via llvm-dev
2021-Jul-26 09:38 UTC
[llvm-dev] ORC JIT Weekly #37 -- JITLink RISCV, Swift/Obj-C support, ExecutionSession requires ExecutorProcessControl
Hi All, MachOPlatform TLV support (introduced last week, see [1]) has gone through a few rounds of reversion and re-application while I worked out the kinks, however it looks like it has stabilized in time for the LLVM 13 branch. We still need some work to support non-trivial destructors for thread locals (this will not happen until LLVM 14 or later), but thread-local PODs should now work. This week's highlights: 1. The new JITLink ELF/RISCV backend has landed in [2]. Thanks very much to Stephen Fan for that! 2. MachOPlatform support for simple Swift and Objective-C programs has landed in [3]. JIT stacks that set up a MachOPlatform instance will now be able to load and run simple Swift and Objective-C programs. 3. ExecutionSession will soon be required to supply an associated ExecutorProcessControl instance (see [4]). This is another step towards making the APIs uniform regardless of whether JIT'd code is running in-process or out-of-process. During an initial transition period we will allow use of a placeholder EPC value (the UnsupportedExecutorProcessControl can be used for this), but new utilities are allowed to assume a valid EPC attached to the ExecutionSession, and may fail if one is not present. If you're JITing in process you should just be able to use a SelfExecutorProcessControl instance. Please file bugs if you need extensions to that class's API for your use case. -- Lang. [1] https://lists.llvm.org/pipermail/llvm-dev/2021-July/151841.html [2] https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7 <https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7#diff-27be16698a63aa91d1157a22623bc0b5438d43c10c7e89ebcbe0fa49307b796b> [3] https://github.com/llvm/llvm-project/commit/cdcc35476833eca4f4996256e3ca0b21ecc26ad8 [4] https://reviews.llvm.org/D104694 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210726/93d8df48/attachment.html>
Lang Hames via llvm-dev
2021-Aug-02 09:52 UTC
[llvm-dev] ORC JIT Weekly #37 -- JITLink RISCV, Swift/Obj-C support, ExecutionSession requires ExecutorProcessControl
Hi All, No updates this week, -- Lang. On Mon, Jul 26, 2021 at 7:38 PM Lang Hames <lhames at gmail.com> wrote:> Hi All, > > MachOPlatform TLV support (introduced last week, see [1]) has gone through > a few rounds of reversion and re-application while I worked out the kinks, > however it looks like it has stabilized in time for the LLVM 13 branch. We > still need some work to support non-trivial destructors for thread locals > (this will not happen until LLVM 14 or later), but thread-local PODs should > now work. > > This week's highlights: > > 1. The new JITLink ELF/RISCV backend has landed in [2]. Thanks very much > to Stephen Fan for that! > > 2. MachOPlatform support for simple Swift and Objective-C programs has > landed in [3]. JIT stacks that set up a MachOPlatform instance will now be > able to load and run simple Swift and Objective-C programs. > > 3. ExecutionSession will soon be required to supply an associated > ExecutorProcessControl instance (see [4]). This is another step towards > making the APIs uniform regardless of whether JIT'd code is running > in-process or out-of-process. > > During an initial transition period we will allow use of a placeholder EPC > value (the UnsupportedExecutorProcessControl can be used for this), but new > utilities are allowed to assume a valid EPC attached to the > ExecutionSession, and may fail if one is not present. > > If you're JITing in process you should just be able to use a > SelfExecutorProcessControl instance. Please file bugs if you need > extensions to that class's API for your use case. > > -- Lang. > > [1] https://lists.llvm.org/pipermail/llvm-dev/2021-July/151841.html > [2] > https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7 > <https://github.com/llvm/llvm-project/commit/0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7#diff-27be16698a63aa91d1157a22623bc0b5438d43c10c7e89ebcbe0fa49307b796b> > [3] > https://github.com/llvm/llvm-project/commit/cdcc35476833eca4f4996256e3ca0b21ecc26ad8 > [4] https://reviews.llvm.org/D104694 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210802/8ea0e918/attachment.html>