Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

YJIT: shrink Context down to 15 bytes #8911

Merged
merged 2 commits into from Nov 13, 2023
Merged

Conversation

maximecb
Copy link
Contributor

Fairly straightforward refactoring. We could probably turn TempMapping back into an enum, but it seemed simpler to just keep it as is for now.

master (17 byte context):
  yjit_alloc_size:          18,817,801
with patch (15 byte context):
  yjit_alloc_size:          18,440,141

2% memory savings (wow!)

Next year we may want to look at using a crate that has support for managing bit fields, or a more sophisticated way to encode the context if we want to squeeze the maximum out of those precious bits 馃

@matzbot matzbot requested a review from a team November 13, 2023 21:16
@maximecb maximecb merged commit c552a5f into ruby:master Nov 13, 2023
98 of 99 checks passed
@maximecb maximecb deleted the yjit_tiny_context branch November 13, 2023 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant