- 著者
-
芝 哲史
笹田 耕一
卜部 昌平
松本 行弘
稲葉 真理
平木 敬
- 雑誌
- 情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
- 巻号頁・発行日
- vol.4, no.1, pp.90-108, 2011-03-16
本稿では,Ruby 処理系とほぼ完全な互換性を持つ AOT コンパイラの設計と実装について述べる.Ruby は数多くのライブラリを持ち,数多くの環境をサポートしているプログラミング言語の 1 つである.本研究では,Ruby 処理系との互換性,および可搬性に優れた手法を用いて,既存のすべての Ruby プログラムを,Ruby がサポートするすべての環境で高速化することを目標としている.我々は,この目標を達成するために,Ruby スクリプトをコンパイルしたバイトコード列を C 言語に変換し,Ruby 処理系の仮想マシン (RubyVM) 上で動作させる AOT コンパイラを開発した.開発した AOT コンパイラは,生成する C 言語ソースコードを RubyVM のメソッド呼び出し機構,例外処理機構などを利用して動作させることで,Ruby 処理系との互換性をほぼ完全に保ちながら,Ruby プログラムの実行を高速化する.本稿では開発した AOT コンパイラの設計と実装,開発によって得られた知見について詳しく解説する.そして,開発した AOT コンパイラの機能と性能を評価する.