{"updated":"2025-01-20T19:03:02.319290+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00142286","sets":["934:935:8226:8227"]},"path":["8227"],"owner":"11","recid":"142286","title":["Ruby向けトレース方式Just-in-timeコンパイラの設計と実装"],"pubdate":{"attribute_name":"公開日","attribute_value":"2015-06-02"},"_buckets":{"deposit":"6fb03b7e-88e1-4441-a5a3-1cb0bfb6debe"},"_deposit":{"id":"142286","pid":{"type":"depid","value":"142286","revision_id":0},"owners":[11],"status":"published","created_by":11},"item_title":"Ruby向けトレース方式Just-in-timeコンパイラの設計と実装","author_link":["210610","210613","210611","210612"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Ruby向けトレース方式Just-in-timeコンパイラの設計と実装"},{"subitem_title":"A Trace-based Just-in-time Compiler for Ruby","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[通常論文] Just-in-timeコンパイラ,スクリプト言語,Ruby","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2015-06-02","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"横浜国立大学大学院"},{"subitem_text_value":"横浜国立大学大学院"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Yokohama National University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Yokohama National University","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/142286/files/IPSJ-TPRO0801002.pdf"},"date":[{"dateType":"Available","dateValue":"2017-06-02"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO0801002.pdf","filesize":[{"value":"1.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":"2594f1a6-1ddc-45e4-becf-2823c90829f9","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2015 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"井出, 真広"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"倉光, 君郎"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Masahiro, Ide","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Kimio, Kuramitsu","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を高速に実行するための処理系であるトレース方式JITコンパイラ,RuJITの開発した.RuJITは,Ruby言語のC言語による処理系CRubyを対象に,CRubyが生成したバイトコードをトレースし,頻繁に実行された箇所やループを機械語へ変換する.本論文ではまず我々のトレース方式JITコンパイラの設計と実装について述べる.その後,Ruby言語の持つ性質や機能に起因するトレースの構成や最適化が困難な点を紹介し,それを解決するための最適化手法について述べる.本論文では,RuJITの設計と実装,および開発によって得られた知見について詳しく解説する.そして,RuJITの性能について評価する.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"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.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"10","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2015-06-02","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"1","bibliographicVolumeNumber":"8"}]},"relation_version_is_last":true,"weko_creator_id":"11"},"created":"2025-01-19T00:19:45.402027+00:00","id":142286,"links":{}}