similar to: [LLVMdev] How will OrcJIT guarantee thread-safety when a function is asked to be re generated?

Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] How will OrcJIT guarantee thread-safety when a function is asked to be re generated?"

2015 Mar 19
4
[LLVMdev] How will OrcJIT guarantee thread-safety when a function is asked to be re generated?
Hi Hayden, Dave's answer covers this pretty well. Neither Orc nor MCJIT currently reason about replacing function bodies. They may let you add duplicate definitions, but how they'll behave if you do that isn't specified in their contracts. They definitely won't replace old definitions unless you provide a custom memory manager that's rigged to lay new definitions down on top
2015 Mar 19
3
[LLVMdev] How will OrcJIT guarantee thread-safety when a function is asked to be re generated?
Hi Sanjoy, >> (1) Replacing function bodies at the same address is impossible if the >> function is already on the stack: You'd be replacing a definition that >> you're later going to return through. > > If the function you wish to replace is active on the stack, you can > replace the return PC that was going to return into that active frame > with a PC
2015 Mar 19
3
[LLVMdev] How will OrcJIT guarantee thread-safety when a function is asked to be re generated?
Hi Sanjoy, > You need the hijack-return-pc approach *in addition* to a call-site > patching approach. Modifying the return PC lets you guarantee that > nothing will *return* into the old generated code. To guarantee that > nothing will *call* into it either you could use a double indirection > (all calls go through a trampoline) or patchpoints. You need to hijack the return
2015 Feb 01
3
[LLVMdev] OrcJIT in LLVM C bindings
Hello, I was wondering if there is someone already working on putting the new OrcJIT APIs in the LLVM-C bindings? Also, is there a general consensus to also add C bindings when new major features are added? Hayden -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150201/061f5949/attachment.html>
2015 Feb 03
2
[LLVMdev] OrcJIT in LLVM C bindings
Thanks, David. I'd be happy to add the bindings .. is there a general way we add them? Or do you just scrub the API and make sensible judgements to the API? On Sun, Feb 1, 2015 at 1:55 PM, David Blaikie <dblaikie at gmail.com> wrote: > > > On Sun, Feb 1, 2015 at 10:58 AM, Hayden Livingston <halivingston at gmail.com > > wrote: > >> Hello, >> >> I
2018 Jul 01
2
I've seen OrcJit is under overhaul, and also the MCJIT, so what's the plan?
I didn't seen any roadmap and plan about OrcJit & MCJIT. And would OrcJIT be stablize in version 7.0? Or latter version? Would MCJIT be removed in source tree, when? -- 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo -------------- next part -------------- An HTML attachment was scrubbed... URL:
2017 Apr 24
1
[FFI] [OrcJIT] Status update on C FFI for OrcJIT?
I looked around for the status of OrcJIT FFI support. The last e-mail thread I could find was this one: Link <http://lists.llvm.org/pipermail/llvm-dev/2015-February/081679.html> Raw: http://lists.llvm.org/pipermail/llvm-dev/2015-February/081679.html Is OrcJIT now considered stable enough that there can be "official" exposed C APIs? If not, what's the standard approach if I
2019 Aug 16
2
[ORC] [mlir] Dump assembly from OrcJit
+ MLIR dev mailing list since that’s where the OrcJit I’m using is. Thanks for all the details, Lang! What you described is exactly what I’m looking for! Please, MLIR dev, let me know if this debug feature and the solution that Lang describes below is interesting for MLIR. I’ll dig more into the details then but it doesn’t seem too complicated. Thanks, Diego From: Lang Hames [mailto:lhames at
2020 Nov 16
2
ORC JIT Weekly #26 -- Orc library break-up, remote TargetProcessControl, and the beginnings of a runtime.
Hi All, I'm back again after a couple of weeks hiatus, and I have some good news for anyone interested in cross-process JITing with OrcV2: The remote TargetProcessControl and Orc library breakup patch has landed in 1d0676b54c4 [1]. Thanks very much to Dave Blaikie and Stefan Graenitz for all their feedback on the review! As described in my last email, this commit breaks the OrcJIT library
2015 Jul 17
3
[LLVMdev] [RFC] Developer Policy for LLVM C API
Can we also codify when something should be added to the C API? For a lot of folks the C API is the only usable interface. I am one of them. We are not as vocally represented because don't generally give back to the community, usually because we are just consumers of this library. (Or maybe I'm totally wrong and lots of us give back). For example, ORC APIs in C the bindings. On Fri, Jul
2019 Feb 25
2
LLVM C API OrcJIT
Hello, I've been trying to use LLVM's Orc JIT from C API for a few days and i can't get it to work, I'm kind of annoyed for the lack of documentation examples for the C API. Here's my code: https://hasteb.in/ohexiweb.cpp I compile it using clang `llvm-config --cflags --ldflags --libs all` main.c -o main -g -rdynamic And it ends up segfaulting at the line where it calls
2019 May 18
2
Bugzilla OrcJIT Tickets
Hi Stefan Thank you! In case, you missed in llvm-dev listing: you can find the proposal here : link. <https://docs.google.com/document/d/1202EcXlWMQ8yxu5qD0b5fE0a_kihlcaPNpZo_Jk0YeQ/edit?usp=sharing> Thanks for working on summarising the Bugzilla tickets to track the recent changes in ORC this is really helpful. On Sat, 18 May 2019 at 21:33, Stefan Gränitz <stefan.graenitz at
2019 May 18
3
Bugzilla OrcJIT Tickets
Hello everyone A previous thread about OrcJIT brought up bug reports on Bugzilla. A quick search gives 20+ results: https://bugs.llvm.org/buglist.cgi?component=OrcJIT&list_id=162232&query_format=advanced&resolution=--- While some of them are obviously outdated (addModuleSet API cleanup [1]), others may actually be relevant again (Small code model? [2]). If you reported one of them,
2019 Sep 18
3
COAT: an EDSL making just-in-time code generation easier
Hi all, I open sourced a small project of mine recently. It is an EDSL for C++ which makes just-in-time compilation much easier to write and maintain. One of its backends is LLVM's OrcJIT (LLVM 7, still). https://github.com/tetzank/coat Here is a blog post of mine introducing the concept: https://tetzank.github.io/posts/coat-edsl-for-codegen/ You can see it as an abstraction layer on top
2015 Jan 14
4
[LLVMdev] New JIT APIs
Hi All, The attached patch (against r225842) contains some new JIT APIs that I've been working on. I'm going to start breaking it up, tidying it up, and submitting patches to llvm-commits soon, but while I'm working on that I thought I'd put the whole patch out for the curious to start playing around with and/or commenting on. The aim of these new APIs is to cleanly support a
2015 Jan 16
5
[LLVMdev] New JIT APIs
Hi Armin, > The MCJIT API can only be used once to JIT compile external souces to excuteable code into the address space of a running process. I'm not sure exactly what you mean by "can only be used once" in this context. Regardless, the new APIs are definitely designed to make it easier to lead, unload and replace modules, and I hope they will support a wider range of use cases
2015 Jul 27
15
[LLVMdev] Help with using LLVM to re-compile hot functions at run-time
Hi Again, I'm a little confused regarding what is the exact Orc's functions I should use in order to save the functions code in a code cache so it could be later replaced with different versions of it and I appreciate your help. Just a reminder I want to dynamically recompile the program based on profile collected at the run-time. I would like to start executing the program from the
2019 Jun 19
2
Questions about moving from MCJIT to Orc JIT
Hello LLVM-Mailing list, in the past I was using the MCJIT (if I understand it correctly) to load IR modules, compile them and execute them. The speciality of this JIT was, that it was writing the compiled code into a shared memory - for a different process to execute them. For that task the JIT used a 'custom' memory manager, memory mapping and also resolved undefined references itself.
2017 Oct 11
2
Debugging JIT'ed code with ORC JIT?
HI Yichao, RTDyldObjectLinkingLayer has a NotifyObjectLoaded hook that you can use to call NotifyObjectEmitted on your GDBRegistrationListener. If code is going to be unloaded we would have to add an extra hook to call NotifyFreeingObject -- that seems totally reasonable to add. -- Lang. On Wed, Oct 11, 2017 at 10:44 AM, Yichao Yu <yyc1992 at gmail.com> wrote: > > What debugging
2019 Jun 27
2
Questions about moving from MCJIT to Orc JIT
Nice! Let me try to answer some questions, Before that I have to mention this is ORC version 2 APIs and this is where the project is moving forward. JITDylib is the symbol table, basically for a JIT Symbol it have an associated materializers, (you can think of it like an entity that generate the address for that symbol), Example: compiler are materializers. So to add symbols to your own JIT you