Project

General

Profile

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` 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 `RJIT::C` 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.

Back