-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Support adding CodeInstance
s to JIT for interpreters defining a codegen cache
#57272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
CodeInstance
s to JIT for interpreters defining a codegen cache
CodeInstance
s to JIT for interpreters defining a codegen cacheCodeInstance
s to JIT for interpreters defining a codegen cache
I also believe that, instead of exposing |
I'm a bit concerned about this, specifically because up to now everything that went into the JIT via the usual codepaths used the jl_create_native + JLJITAddLLVMIRModule. But this is not necessarily wrong, also @vchuravy probably has some comments on this |
This seems reasonable to me, based on the direction Keno has been going with |
Seems like |
151616f
to
8644cb2
Compare
Crash was due to a reassignment of the local |
…egen cache (#57272) Implements a way to add `CodeInstance`s compiled by external interpreters to JIT, such that they become legal targets for `invoke` calls. Based on a design proposed by @Keno, the `AbstractInterpreter` interface is extended to support providing a codegen cache that is filled during inference for future use with `add_codeinsts_to_jit!`. This allows `invoke(f, ::CodeInstance, args...)` to work on external interpreters, which is currently failing on `master` (see #57193). --------- Co-authored-by: Cédric Belmant <cedric.belmant@juliahub.com> (cherry picked from commit 9d2e9ed)
…egen cache (#57272) Implements a way to add `CodeInstance`s compiled by external interpreters to JIT, such that they become legal targets for `invoke` calls. Based on a design proposed by @Keno, the `AbstractInterpreter` interface is extended to support providing a codegen cache that is filled during inference for future use with `add_codeinsts_to_jit!`. This allows `invoke(f, ::CodeInstance, args...)` to work on external interpreters, which is currently failing on `master` (see #57193). --------- Co-authored-by: Cédric Belmant <cedric.belmant@juliahub.com> (cherry picked from commit 9d2e9ed)
…egen cache (JuliaLang#57272) Implements a way to add `CodeInstance`s compiled by external interpreters to JIT, such that they become legal targets for `invoke` calls. Based on a design proposed by @Keno, the `AbstractInterpreter` interface is extended to support providing a codegen cache that is filled during inference for future use with `add_codeinsts_to_jit!`. This allows `invoke(f, ::CodeInstance, args...)` to work on external interpreters, which is currently failing on `master` (see JuliaLang#57193). --------- Co-authored-by: Cédric Belmant <cedric.belmant@juliahub.com>
Implements a way to add
CodeInstance
s compiled by external interpreters to JIT, such that they become legal targets forinvoke
calls.Based on a design proposed by @Keno, the
AbstractInterpreter
interface is extended to support providing a codegen cache that is filled during inference for future use withadd_codeinsts_to_jit!
.This allows
invoke(f, ::CodeInstance, args...)
to work on external interpreters, which is currently failing onmaster
(see #57193).