Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
GH-134291: Support older macOS deployment targets for JIT builds#137211
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
brandtbucher commented Jul 29, 2025 • edited by bedevere-app bot
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by bedevere-app bot
Uh oh!
There was an error while loading. Please reload this page.
brandtbucher commented Jul 29, 2025
Performance is neutral. If you squint, startup is slightly faster and JIT-heavy benchmarks are slightly slower, but it's mostly in the noise for this machine. |
diegorusso left a comment
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.
Instead of removing the support altogether, wouldn't it be nicer to call it only on supported macOS version?
zanieb commented Jul 29, 2025
We chatted about that at PyCon but it sounded like it didn't really seem like the right trade-off because there's not a strong justification for having it in the first place. |
brandtbucher commented Jul 30, 2025
Yeah, if we left it in we'd need to test it, etc. It's intended to be a lightweight workaround for JITs with self-modifying code on newer Macs that don't support WX pages, which doesn't apply to us. I think it's cleaner to just pull it out for now. |
savannahostrowski left a comment
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.
Seems reasonable to me - I'm very +1 on wider distribution of JIT builds :)
zanieb commented Jul 30, 2025
This supersedes #134292 |
diegorusso left a comment
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.
OK, if this causes issue, let's merge it. As Brandt said our JIT doesn't really modify the code while executing.
d591b5e into python:mainUh oh!
There was an error while loading. Please reload this page.
brandtbucher commented Jul 30, 2025
@hugovk, @zanieb, @ned-deily: thoughts on backporting this change? I know we're in RC, but this would allow macOS distributors like |
ned-deily commented Jul 31, 2025
I need to test the change first, which I'll do in the next day. But, assuming no problems, it should definitely be backported for 3.14. We've been handwaving about older release support while waiting for this to be fixed. |
hugovk commented Jul 31, 2025
Fine by me when Ned gives the nod. |
brandtbucher commented Aug 13, 2025
Should we try to get the backport into the next RC @ned-deily@hugovk? |
ned-deily commented Aug 13, 2025
I'm looking at it now. |
GH-137701 is a backport of this pull request to the 3.14 branch. |
ned-deily commented Aug 13, 2025
Looks good for main and for 3.14 as well. There was a minor conflict with backporting to 3.14 so I created a manual backport for it in #137701. |
…ds (GH-137211) (#137701) Co-authored-by: Brandt Bucher <[email protected]>
bedevere-bot commented Aug 13, 2025
|
hugovk commented Aug 13, 2025
Both 3.15 and 3.14 seem to be failing after this change: https://buildbot.python.org/#/release_status Is it a genuine failure? Or perhaps something up with the buildbot worker? cc @itamaro just in case. |
brandtbucher commented Aug 13, 2025
I doubt it's due to this change, since NoGIL and the JIT can't even be built together. The failing test name |
hugovk commented Aug 14, 2025
Back to green after second rebuild 👍 |
…T builds (pythonGH-137211) (python#137701) Co-authored-by: Brandt Bucher <[email protected]>
This rolls back GH-126196 and adds stricter checks for newer APIs in JIT CI. We don't really need the superpowers of the newer API (rapid flip-flopping permissions on JIT pages) since our JIT doesn't use self-modifying code.
This allows downstream distributors (like
uv, CC @zanieb) to ship the JIT for more users.