Skip to content

Conversation

@k0kubun
Copy link
Member

@k0kubun k0kubun commented May 9, 2025

This PR lets the backend compile jumps to side exits using Target::SideExitPtr instead of Target::CodePtr to avoid filling unnecessary nop instructions after such jumps.

The backend assumes any Target::CodePtr could be invalidated due to patch points or chain guards. However, we never invalidate side exits. So, in YJIT, we introduced Target::SideExitPtr to distinguish side exits from other jumps.

@matzbot matzbot requested a review from a team May 9, 2025 23:23
@k0kubun k0kubun merged commit 0b6cee7 into ruby:master May 12, 2025
83 of 84 checks passed
@k0kubun k0kubun deleted the zjit-exit-ptr branch May 12, 2025 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants