@article{oai:ipsj.ixsq.nii.ac.jp:00073661,
 author = {芝, 哲史 and 笹田, 耕一 and 卜部, 昌平 and 松本, 行弘 and 稲葉, 真理 and 平木, 敬 and Satoshi, Shiba and Koichi, Sasada and Shohei, Urabe and Yukihiro, Matsumoto and Mary, Inaba and Kei, Hiraki},
 issue = {1},
 journal = {情報処理学会論文誌プログラミング(PRO)},
 month = {Mar},
 note = {本稿では,Ruby 処理系とほぼ完全な互換性を持つ AOT コンパイラの設計と実装について述べる.Ruby は数多くのライブラリを持ち,数多くの環境をサポートしているプログラミング言語の 1 つである.本研究では,Ruby 処理系との互換性,および可搬性に優れた手法を用いて,既存のすべての Ruby プログラムを,Ruby がサポートするすべての環境で高速化することを目標としている.我々は,この目標を達成するために,Ruby スクリプトをコンパイルしたバイトコード列を C 言語に変換し,Ruby 処理系の仮想マシン (RubyVM) 上で動作させる AOT コンパイラを開発した.開発した AOT コンパイラは,生成する C 言語ソースコードを RubyVM のメソッド呼び出し機構,例外処理機構などを利用して動作させることで,Ruby 処理系との互換性をほぼ完全に保ちながら,Ruby プログラムの実行を高速化する.本稿では開発した AOT コンパイラの設計と実装,開発によって得られた知見について詳しく解説する.そして,開発した AOT コンパイラの機能と性能を評価する., In this paper, we will describe the design and the implementation of an AOT compiler which is almost compatible with Ruby Interpreter (CRuby). Ruby is one of the programming languages that has a lot of libraries and has been available for many different computing environments. Our research is aiming at speeding up all existing Ruby programs on all Ruby available computing environments with an approach that takes care of compatibility with CRuby and portability for different computing environments. To achieve this goal, we developed an AOT compiler converts the bytecodes that are compiled from Ruby script to C program. The generated C code runs on the RubyVM (Ruby virtual machine). Using some RubyVM mechanism, such as method invocation and exception handling, the AOT compiler speeds up the execution of Ruby program, while makes the generated C code compatible with CRuby. In this paper, we detail the design, the implementation of the AOT compiler and the acknowledge that we had learned from the development. Moreover, we show the evaluation of the functionality and performance for the AOT compiler.},
 pages = {90--108},
 title = {実用的なRuby用AOTコンパイラ},
 volume = {4},
 year = {2011}
}