-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Fix codegen not handling invoke exprs with Codeinstances iwith jl_fptr_sparam_addr invoke types. #56817
Conversation
SGTM. I think we'll delete that other code path (make it an assertion) anyways, since the dynamic version is unused and unnecessary (now that the |
Turns out this is very reproducable on nightly without the memorynew PR: (it works fine on 1.11 though)
|
That looks like #56739 |
that would be because it is :) |
Does that mean we make |
…_sparam_addr invoke types.
a38e78f
to
a1370e2
Compare
Yes, that has always been required. |
should we run benchmarks on this to make sure it isn't deoptimizing too many of our calls? |
Doesn't that mean we're fixing the wrong bug? |
While I added an extra check to the apparently unused dynamic case. The actual fix is that we no longer try to emit specsig calls for MIs with unbound sparams. |
fixes #56739
I didn't succeed in making a test for this. The sole trigger seems to be
in @oscardssmith memorynew PR
One other option is to have the builtin handle receiving a CI. That might make the code cleaner and does handle the case where we receive a dynamic CI (is that even a thing)