ZJIT: Remove duplicate CheckInterrupts within basic blocks#16317
Merged
tekknolagi merged 1 commit intoruby:masterfrom Mar 6, 2026
Merged
ZJIT: Remove duplicate CheckInterrupts within basic blocks#16317tekknolagi merged 1 commit intoruby:masterfrom
tekknolagi merged 1 commit intoruby:masterfrom
Conversation
tekknolagi
approved these changes
Mar 6, 2026
Contributor
tekknolagi
left a comment
There was a problem hiding this comment.
I think you need to upgrade your insta to get rid of those errant writes to otherwise unchanged test snapshots but otherwise lgtm
Add a new optimization pass that eliminates redundant CheckInterrupts instructions within each basic block. Only the first CheckInterrupts is needed per stretch of non-call code, since the interrupt flag only needs to be checked once. The flag resets when an intervening instruction writes to InterruptFlag (e.g. a Send).
715a52c to
c86d913
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a new optimization pass that eliminates redundant CheckInterrupts instructions within each basic block. Only the first CheckInterrupts is needed per stretch of non-call code, since the interrupt flag only needs to be checked once. The flag resets when an intervening instruction writes to InterruptFlag (e.g. a Send).