Project

General

Profile

Actions

Feature #21116

closed

Extract RJIT as a third-party gem

Added by k0kubun (Takashi Kokubun) 7 days ago. Updated about 1 hour ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:120891]

Description

Proposal

  • Extract the implementation of RJIT::C to ruby/rjit and publish it as a thirt-party gem rjit
  • Allow jit_exec() to call body->jit_entry even when --yjit is not given
  • Remove RJIT from the Ruby core
    • Remove --rjit flags and RubyVM::RJIT

Background

  • RJIT depends on fiddle, and fiddle has been extracted as a bundled gem. @hsbt (Hiroshi SHIBATA) and @nobu (Nobuyoshi Nakada) 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 (Aaron Patterson) and I think it's possible if we modify jit_exec() as explained in the proposal.

Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #19420: Simplify MJIT implementationClosedActions
Actions #1

Updated by k0kubun (Takashi Kokubun) 7 days ago

Actions #2

Updated by k0kubun (Takashi Kokubun) 7 days ago

  • Description updated (diff)
Actions #3

Updated by k0kubun (Takashi Kokubun) 7 days ago

  • Description updated (diff)
Actions #4

Updated by k0kubun (Takashi Kokubun) 7 days ago

  • Description updated (diff)
Actions #5

Updated by k0kubun (Takashi Kokubun) 7 days ago

  • Description updated (diff)
Actions #6

Updated by nobu (Nobuyoshi Nakada) about 1 hour ago

  • Status changed from Open to Closed

Applied in changeset git|4a67ef09ccd703047552b740431cfe15e32451f4.


[Feature #21116] Extract RJIT as a third-party gem

Actions

Also available in: Atom PDF

Like1
Like0Like0Like0Like0Like0Like0