@article{oai:ipsj.ixsq.nii.ac.jp:00142286, author = {井出, 真広 and 倉光, 君郎 and Masahiro, Ide and Kimio, Kuramitsu}, issue = {1}, journal = {情報処理学会論文誌プログラミング(PRO)}, month = {Jun}, note = {我々はオブジェクト指向スクリプト言語Rubyを高速に実行するための処理系であるトレース方式JITコンパイラ,RuJITの開発した.RuJITは,Ruby言語のC言語による処理系CRubyを対象に,CRubyが生成したバイトコードをトレースし,頻繁に実行された箇所やループを機械語へ変換する.本論文ではまず我々のトレース方式JITコンパイラの設計と実装について述べる.その後,Ruby言語の持つ性質や機能に起因するトレースの構成や最適化が困難な点を紹介し,それを解決するための最適化手法について述べる.本論文では,RuJITの設計と実装,および開発によって得られた知見について詳しく解説する.そして,RuJITの性能について評価する., This paper describes RuJIT, a trace-based JIT compiler for Ruby which traces program code to determine frequently executed traces (hot paths and loops) in running programs and emits optimized machine code specialized to these traces. We first describe the design and implementation of the RuJIT compiler. Then we show that two Ruby's functions and characteristics make difficult to improve the performance of JIT compiled code. To produce better quality code, we describe solutions for these issues as well as implementation of optimization techniques.}, pages = {1--10}, title = {Ruby向けトレース方式Just-in-timeコンパイラの設計と実装}, volume = {8}, year = {2015} }