{"updated":"2025-01-21T21:51:24.230326+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00073661","sets":["934:935:6375:6381"]},"path":["6381"],"owner":"10","recid":"73661","title":["実用的なRuby用AOTコンパイラ"],"pubdate":{"attribute_name":"公開日","attribute_value":"2011-03-16"},"_buckets":{"deposit":"a4fa4c68-dbf0-40ee-880f-9daac8f7b992"},"_deposit":{"id":"73661","pid":{"type":"depid","value":"73661","revision_id":0},"owners":[10],"status":"published","created_by":10},"item_title":"実用的なRuby用AOTコンパイラ","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"実用的なRuby用AOTコンパイラ"},{"subitem_title":"A Practical AOT Compiler for Ruby","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"通常論文","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2011-03-16","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"東京大学大学院情報理工学系研究科"},{"subitem_text_value":"東京大学大学院情報理工学系研究科"},{"subitem_text_value":"株式会社ネットワーク応用通信研究所"},{"subitem_text_value":"株式会社ネットワーク応用通信研究所"},{"subitem_text_value":"東京大学大学院情報理工学系研究科"},{"subitem_text_value":"東京大学大学院情報理工学系研究科"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"},{"subitem_text_value":"Network Applied Communication Laboratory, Inc.","subitem_text_language":"en"},{"subitem_text_value":"Network Applied Communication Laboratory, Inc.","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/73661/files/IPSJ-TPRO0401007.pdf"},"date":[{"dateType":"Available","dateValue":"2013-03-16"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO0401007.pdf","filesize":[{"value":"3.4 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"52cbecdb-cd08-4678-bbf0-6556d3eb7767","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2011 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"芝, 哲史"},{"creatorName":"笹田, 耕一"},{"creatorName":"卜部, 昌平"},{"creatorName":"松本, 行弘"},{"creatorName":"稲葉, 真理"},{"creatorName":"平木, 敬"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Satoshi, Shiba","creatorNameLang":"en"},{"creatorName":"Koichi, Sasada","creatorNameLang":"en"},{"creatorName":"Shohei, Urabe","creatorNameLang":"en"},{"creatorName":"Yukihiro, Matsumoto","creatorNameLang":"en"},{"creatorName":"Mary, Inaba","creatorNameLang":"en"},{"creatorName":"Kei, Hiraki","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"本稿では,Ruby 処理系とほぼ完全な互換性を持つ AOT コンパイラの設計と実装について述べる.Ruby は数多くのライブラリを持ち,数多くの環境をサポートしているプログラミング言語の 1 つである.本研究では,Ruby 処理系との互換性,および可搬性に優れた手法を用いて,既存のすべての Ruby プログラムを,Ruby がサポートするすべての環境で高速化することを目標としている.我々は,この目標を達成するために,Ruby スクリプトをコンパイルしたバイトコード列を C 言語に変換し,Ruby 処理系の仮想マシン (RubyVM) 上で動作させる AOT コンパイラを開発した.開発した AOT コンパイラは,生成する C 言語ソースコードを RubyVM のメソッド呼び出し機構,例外処理機構などを利用して動作させることで,Ruby 処理系との互換性をほぼ完全に保ちながら,Ruby プログラムの実行を高速化する.本稿では開発した AOT コンパイラの設計と実装,開発によって得られた知見について詳しく解説する.そして,開発した AOT コンパイラの機能と性能を評価する.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"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.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"108","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"90","bibliographicIssueDates":{"bibliographicIssueDate":"2011-03-16","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"1","bibliographicVolumeNumber":"4"}]},"relation_version_is_last":true,"weko_creator_id":"10"},"created":"2025-01-18T23:31:31.446495+00:00","id":73661,"links":{}}