Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 33.9k
gh-133171: Re-enable JUMP_BACKWARD to free-threading build#137800
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
Uh oh!
There was an error while loading. Please reload this page.
Conversation
corona10 commented Aug 15, 2025
@savannahostrowski@diegorusso@Fidget-Spinner@brandtbucher To the JIT team — I’m not sure who’s currently working on this, but it might be a good starting point to add JIT support. My next goal will be to make the tier-two instructions thread-safe. |
Fidget-Spinner commented Aug 15, 2025
I think we should start by running the tests in CI for JIT+FT current build and see what passes/fails before doing this |
corona10 commented Aug 15, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
We disabled FT + JIT build from #133179 do you think that we have to listing the current status? |
Fidget-Spinner commented Aug 15, 2025
This makes sense but actually the default build's JIT can't even run with the optimizer turned off! There's some segfaults when we turn off the optimizer lol. |
corona10 commented Aug 15, 2025
How can I trigger this? |
Fidget-Spinner commented Aug 15, 2025
Run the test suite with |
corona10 commented Aug 15, 2025
Just for the record at default build: |
This comment has been minimized.
This comment has been minimized.
corona10 commented Aug 15, 2025
Ah never mind, it need to be transformed tier 2 code first. |
d855944 to d470ce9Comparecorona10 commented Sep 18, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@Fidget-Spinner@brandtbucher I noticed that JIT x FT still doesn’t build even with the entire optimizer path disabled, so fix it temporarily. I’ve added a direct fallback to Tier 1; it’s slow, but fine for now. Let’s re-enable _PyOptimizer_Optimize step by step. To do that, we also need to re-enable CI (just for build testing) |
corona10 commented Sep 18, 2025
cc @savannahostrowski Once this PR is merged, others can start collaborating on the full FT x JIT work separately. |
| staticinlineint | ||
| PyStackRef_RefcountOnObject(_PyStackRefref) | ||
| { | ||
| return (ref.bits&Py_TAG_REFCNT) ==0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this implementation is fine, but I'm not 100% sure
corona10 commented Sep 18, 2025
If there are no major objections to this PR, I am going to merge this PR (maybe next week) |
| } | ||
| staticinlineint | ||
| PyStackRef_RefcountOnObject(_PyStackRefref) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just personal interest, correct me if I'm wrong.
It seems we don;t call this function yet right? Is this prepared for a future hook?
This function seems be trigger at
- PyStackRef_XCLOSE
- PyStackRef_CLOSE_SPECIALIZED
- PyStackRef_CLOSE
- PyStackRef_DUP
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems we don;t call this function yet right? Is this prepared for a future hook?
Yeah correct, but we can't build if this function is not added. That's all at this moment.
c4f21d7 into python:mainUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.