diff options
| author | Godfrey Chan <godfreykfc@gmail.com> | 2026-02-13 13:30:39 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-13 16:30:39 -0500 |
| commit | 93e68cacc8dde243d8ece47ee73206e0ca334705 (patch) | |
| tree | 8275f17c03d2ed5b36f9ab1ad4f35fafa6498154 /test | |
| parent | bf1ac3f4af16edb613b6795a4af253e9d551bd2c (diff) | |
ZJIT: unify `hir::Insn::{Send,SendWithoutBlock}` (GH-16143)
After GH-15911, we largely apply the same treatment to these two
variants everywhere. In `type_specialize`, there are two ~100 LOC
match arms that shared 90% of the code. Unifying these allowed the
code to be shared more easily.
---
**Note:**
In the interest of preserving existing semantics and keeping the
diff small for this initial PR, `YARVINSN_send` can currently
produce:
```rs
Insn::Send { blockiseq: Some(null_ptr), .. }
```
Either way, that can be done in a follow-up PR.
---
Follow-up tasks:
1. Unify `reduce_send_to_ccall`/`reduce_send_without_block_to_ccall`
2. Address the `Some(null_ptr)` situation above (discussed on PR)
3. Rename/merge the stats/counters/fallback reasons, if desired
Partially addresses Shopify/ruby#941 (TODO: `optimize_c_calls`)
[alan: rewrote commit message]
Reviewed-by: Alan Wu <XrXr@users.noreply.github.com>
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions
