ジケスRVM

ジケスRVM
開発者Jikes RVMチーム、貢献者[ 1 ]
初回リリース1999 (1999年
安定版リリース
3.1.4 / 2016年2月18日 ( 2016-02-18 )
リポジトリ
言語Java
オペレーティングシステムUnixライク
タイプJava仮想マシンライブラリ
ライセンスEclipseパブリックライセンス
ウェブサイトjikesrvm.org

Jikes Research Virtual MachineJikes RVM)は、Javaプラットフォーム向けに記述されたプログラムを実行する成熟した仮想マシンです。他の多くのJava仮想マシン(JVM)とは異なり、Jikes RVMはプログラミング言語Javaで記述されており、メタ循環と呼ばれる実装スタイルを採用しています。Eclipse Public Licenseに基づいてリリースされた、無料のオープンソースソフトウェアです。

歴史

ブートストラップ

Jikes RVMはメタ循環型であるため、ブートイメージを作成するためにブートストラップJVMを実行する必要があります。ブートイメージは、ブートストラップJVMのリフレクションを使用して作成された、Jikes RVMの起動に必要なオブジェクトのビューです。実行時にブートイメージをロードするのは、 小さなCローダーです

VMマジック

VMマジックとは、コンパイラがクラスに対して、そのクラス内のバイトコードが実行すべきコードとは異なるコードを生成することです。VMマジッククラスはメモリへの直接アクセスを可能にし、メモリ管理ツールキットのパフォーマンスの鍵となります。VMマジッククラスはorg.vmmagicパッケージにあり、他のJavaプロジェクトで再利用されています

メモリ管理ツールキット

メモリ管理ツールキット(MMTk)は、Jikes RVMやSingularityオペレーティングシステム、共有ソース共通言語基盤(SSCLI、旧称Rotor)などの他のプロジェクトで使用されている精密なガベージコレクターのセットです。[ 4 ] Jikes RVMの他の部分と同様に、実装はJavaで行われていますが、主にVM Magicに依存しています

クラスライブラリ

Jikes RVMでは、Apache HarmonyまたはGNU Classpathのクラスライブラリを使用できます。OpenJDKのクラスライブラリも試験的にサポートされてます

コンパイラ

Jikes RVMは、高速なベースラインコンパイラを使用して、特定のアーキテクチャ向けのコードを迅速に生成します。その後、アダプティブコンパイルは、オンスタック置換(OSR)などの機能を備えた最適化コンパイラでコードを再コンパイルします。アダプティブコンパイルシステムは、費用便益分析モデルを使用します

ランタイム

Jikes RVMのランタイムには、高速ロック、協調スケジューリング、高速例外収集とディスパッチのサポートなど、多くの革新的な機能があります

プロセッサ

Jikes RVMは、 PowerPC(またはppc)およびIA-32(またはIntel x86、32ビット)命令セットプロセッサアーキテクチャ をサポートしています

研究

Jikes RVMは研究プロジェクトであるため、新技術の研究に重点を置いており、2015年時点で220以上の論文が発表されていることからも明らかです。[ 5 ] [ 6 ]

Jikes RVM は、Google Summer of Code 2007、2008、2010、2011、2012 にも参加しています。

参照

参考文献