Feature #21116
Updated by k0kubun (Takashi Kokubun) 7 days ago
## Proposal * Extract the implementation of `RJIT::C` to ruby/rjit and publish it as a thirt-party gem * Allow `jit_exec()` to call `body->jit_entry` even when `--yjit` is not given * Remove RJIT from the Ruby core ## Background * RJIT depends on `fiddle`, and `fiddle` has been is extracted as a bundled gem. @hsbt and @nobu are struggling to maintain the dependency from the Ruby core to a bundled gem. * Integrating RJIT into the Ruby core has forced VM maintainers to update RJIT with every VM change, significantly increasing the maintenance burden. * I thought you couldn't implement the core of RJIT as a third-party gem when I introduced RJIT [Feature #19420]. However, now @tenderlovemaking and I think it's possible if we modify `jit_exec()` as explained in the proposal.