YJIT: A64: Avoid intermediate register in opt_and and friends#10509
YJIT: A64: Avoid intermediate register in opt_and and friends#10509maximecb merged 1 commit intoruby:masterfrom
opt_and and friends#10509Conversation
Same idea as the x64 equivalent in c2622b5, removing the register shuffle coming from the pop two, push one stack motion these VM instructions perform. ``` # Insn: 0004 opt_or (stack_size: 2) - orr x11, x1, x9 - mov x1, x11 + orr x1, x1, x9 ```
Launchable Report❌ Test session #2806658 failed Passed test sessions✅ Test session #2806642 passed Build: refs_pull_10509_merge_e29e6673ff7cb190f1f44491ed3792714b995bd2 |
* master: (29 commits) Not all `nm`s support the `--help` option Emit a performance warning when redefining specially optimized methods YJIT: A64: Avoid intermediate register in `opt_and` and friends (ruby#10509) [ruby/reline] Remove not implemented method (ruby/reline#680) [ruby/reline] Fix vi_to_column which was broken (ruby/reline#679) Include more debug information in test_uplus_minus [Universal parser] DeVALUE of p->debug_lines and ast->body.script_lines Add more assertions in `test_uplus_minus` `super{}` doesn't use block fix incorrect warning. Update default gems list at fc36394 [ci skip] [ruby/optparse] bump up to 0.5.0 show warning for unused block Emit `warn` event for duplicated hash keys on ripper [ruby/reline] Refactored Default Key Bindings (ruby/reline#678) [ruby/reline] Refactor waiting_proc and waiting_operator_proc (ruby/reline#649) [pty] Fix missing `or` [pty] Fix `ptsname_r` fallback [ruby/irb] Allow defining custom commands in IRB (ruby/irb#886) [ruby/reline] Support `menu-complete-backward` command for upward navigation (ruby/reline#677) ...
Same idea as the x64 equivalent in c2622b5, removing the register
shuffle coming from the pop two, push one stack motion these VM
instructions perform.