mrubyはクロスプラットフォームなのでJITよりインタープリタが高速な方がうれしいよね、ということを話していたらmatz仙人からやれよって言われたのでアイデアを出してみた。今はDalvik本の執筆が優先なのでそっちが落ち着いたらやりたいです(無理かもしれない)。 JITトランスレータ 実行されるメソッドのうち実行頻度が高いものを巨大命令セットのバイトコードにトランスレートする。ホットスポットは巻き戻す方向のジャンプをした回数またはメソッドの呼び出しが一定回数を超えた箇所とする。ホットスポットのカウンタはサイズNのハッシュテーブルとし、ハッシュテーブルの検索はホットスポットのバイトコードのアドレスをNで割った剰余(通常はマスク値との論理積)をハッシュ値とする。高速化のためハッシュ値が衝突しても無視する。 巨大命令セット方式 mrubyの命令セットとは別のバイトコード命令セット。mrbcでコ