-
Notifications
You must be signed in to change notification settings - Fork 13
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
Backporting Ruby 3.3 YJIT changes to 3.2-pshopify #525
Comments
For clarity, #523 is for future Ruby releases, and this issue is for Ruby 3.2 that is too late to be gemified. |
So, keeping in short because this is a public repo, but:
It can be either. Tags would be cleaner for sure, but that's just how I tend to work on them.
No and we shouldn't. |
I think our situation is that we need to take one of the following options:
(1) is a last resort if (2) and (3) don't work. I'm okey with either of the rest. I assume we don't afford to solve (3) for random Ruby revisions. I wonder how difficult it is to solve (3) for preview/rc releases, which seems useful in any case, but right now I feel like (2) is worth exploring. If it turns out to be impractical, we can rely on (3) with preview/rc releases or wait until the gemified version.
Thank you for publishing it 👍
We should be careful not to change the ABI, yes. However, I think most YJIT patches don't come with the interpreter's struct changes, and non-YJIT changes are more prone to it. So I think it's workable.
Got it. I got confused after I saw #519, but I guess we're going to switch the base branch or just create |
My main concern with Rust gems is various compilation errors on developers machines, because you need the rust toolchain etc etc. |
This issue is not about backporting changes in a Rust gem though. Does backporting current YJIT changes in Ruby master to 3.2-pshopify impact how third-party Rust gems are built? |
Sorry, I think there is a misunderstanding. My comments are about upgrading to 3.3.0-dev rather than to backport more substantial patches to 3.2.x. |
I was thinking about that briefly in the context of ruby/prism#1206. |
@eregon the problem is how do you bust caches? You need to bump the gem version. Even with a private server, if you just replace the existing version, the old binaries will stay in various caches. Or am I missing something? |
You would use existing gem versions, and the precompiled gem would embed the Ruby ABI version in the filename. |
I think we already agreed on accepting Ruby 3.3 YJIT optimizations in Ruby 3.2-pshopify since we've been doing this. Closing. We could discuss other stuff in a separate issue. |
Problem
We want to test Ruby 3.3 YJIT changes on Core and SFR, but Core and 99% of SFR use Ruby 3.2.
Solution
Gradually backport Ruby 3.3 YJIT changes that have been tested on SFR canary to 3.2-pshopify.
@casperisfine WDYT? Also, is it intentional that
v3.2.2-pshopifyN
is not a tag but a branch? (Do you need to update a past pshopify version after it's cut?)The text was updated successfully, but these errors were encountered: