Skip to content

YJIT: Split the block on optimized getlocal/setlocal#13282

Merged
k0kubun merged 3 commits intoruby:masterfrom
k0kubun:yjit-split-local
May 12, 2025
Merged

YJIT: Split the block on optimized getlocal/setlocal#13282
k0kubun merged 3 commits intoruby:masterfrom
k0kubun:yjit-split-local

Conversation

@k0kubun
Copy link
Member

@k0kubun k0kubun commented May 8, 2025

This PR is a more generalized fix than #13245 to the problem the PR addressed.

It splits the block when getlocal or setlocal is optimized and thus needs to be invalidated when EP escapes. I'd like to still keep #13245 because send instructions are highly polymorphic, so it's generally nice to share the successor blocks.

@matzbot matzbot requested a review from a team May 8, 2025 19:01
@launchable-app

This comment has been minimized.

@XrXr
Copy link
Member

XrXr commented May 9, 2025

  running file: /Users/runner/work/ruby/ruby/src/test/ruby/test_iseq.rb
  
  A test worker crashed. It might be an interpreter bug or
  a bug in test/unit/parallel.rb. Try again without the -j
  option.

from https://github.com/ruby/ruby/actions/runs/14914047749/job/41898153221?pr=13282

No other message, and I haven't seen this symptom recently. Possibly uncovered by this change.

@k0kubun k0kubun force-pushed the yjit-split-local branch from f4bc3fa to b4c207a Compare May 11, 2025 07:08
@k0kubun
Copy link
Member Author

k0kubun commented May 11, 2025

No other message, and I haven't seen this symptom recently. Possibly uncovered by this change.

Addressing #13282 (comment) with b4c207a seems to have removed the symptom on this PR's CI.

Note that it has happened on master too:
https://github.com/ruby/ruby/actions/runs/14958270977/job/42016839015
http://ci.rvm.jp/results/trunk-yjit@ruby-sp2-noble-docker/5752983
maybe since namespace changes? Either way, the issue doesn't seem relevant to this PR.

@k0kubun k0kubun merged commit 53a27f1 into ruby:master May 12, 2025
81 checks passed
@k0kubun k0kubun deleted the yjit-split-local branch May 12, 2025 16:07
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