ZJIT
2025年、(当時)Shopify所属のMaximeによりRubyに導入された新しいJIT
2025-05
ZJIT has been merged into Ruby
ZJITはYJITと異なっている
YARVバイトコードを低レベル中間表現(LIR)に直接コンパイルするのではなく、静的単一代入(SSA)ベースの高レベル中間表現(HIR)を利用する
一度に1つの基本ブロックをコンパイルするのではなく、一度に1つのメソッド全体をコンパイルする
型プロファイリングにlazy basic block versioning (LBBV)を使うのではなく、プロファイルされたインタプリタからの型情報履歴を読み取る
YARVをLIRに下げる形で最適化を行うのではなく、HIR上で動作する高レベルなモジュラーオプティマイザを備えている
2025-11
同チームのStan LoによるJITの基礎解説
How Ruby Executes JIT Code: The Hidden Mechanics Behind the Magic