{"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00214568","sets":["934:935:10774:10775"]},"path":["10775"],"owner":"44499","recid":"214568","title":["RL78マイコン向けCコンパイラにおけるprocedural abstractionの実装"],"pubdate":{"attribute_name":"公開日","attribute_value":"2022-01-05"},"_buckets":{"deposit":"6780f185-654d-4bee-a9f8-16716a2a530d"},"_deposit":{"id":"214568","pid":{"type":"depid","value":"214568","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"RL78マイコン向けCコンパイラにおけるprocedural abstractionの実装","author_link":["551515","551518","551514","551516","551519","551517"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"RL78マイコン向けCコンパイラにおけるprocedural abstractionの実装"},{"subitem_title":"An Implementation of Procedural Abstraction in a C Compiler for the RL78 Microcontroller","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[通常論文] コンパイラ,最適化,コードサイズ,組込機器","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2022-01-05","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"株式会社日立製作所"},{"subitem_text_value":"株式会社日立ソリューションズ"},{"subitem_text_value":"ルネサスエレクトロニクス株式会社"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Hitachi, Ltd.","subitem_text_language":"en"},{"subitem_text_value":"Hitachi Solutions, Ltd.","subitem_text_language":"en"},{"subitem_text_value":"Renesas Electronics Corporation","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/214568/files/IPSJ-TPRO1501003.pdf","label":"IPSJ-TPRO1501003.pdf"},"date":[{"dateType":"Available","dateValue":"2024-01-05"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO1501003.pdf","filesize":[{"value":"1.0 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":"035e4d8b-6ea0-4e96-b388-b38af755b704","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2022 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":[{}]},{"creatorNames":[{"creatorName":"久島, 伊知郎"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Yuji, Chiba","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Yuki, Nagai","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Ichiro, Kyushima","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":"組込機器におけるプログラムの主な記録先である,組込マイコンの内蔵フラッシュメモリの容量は限定的である.限定的な容量に収まるよう,プログラムを加工する作業の自動化を目的として,組込マイコン向け言語処理系は,サイズを削減する最適化を提供しており,代表例にprocedural abstractionがある.procedural abstractionはサイズを削減するために,プログラム中に繰返し現れる命令列を集約し,集約元には集約先への関数呼出し命令を配置する.ここで,関数呼出しに際しては副作用が生じるので,副作用への対処法が問題になる.本論文では,RL78マイコンなど,関数呼出しの際に,戻り番地をスタックに積むという副作用が発生するアーキテクチャ向けの対処法を示し,その効果を明らかにする.実用的な組込アプリケーションによる評価の結果,本論文で示す対処法により,サイズを0.95%小さくできることが分かった.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"We often record programs for an embedded machine in the flash memory of a microcontroller, but its capacity is often limited. So, in the development of such programs, size reduction is often in need, but manual reduction is costly. In order to reduce the size automatically, many optimizations have beed invented, and one of them is procedural abstraction. Procedural abstraction reduces the size by summarizing instruction sequence repeatedly apper in the program. Because it uses a call instruction to transfer the control to the summarized instruction sequence, it needs methods to manage the side effects the call instruction causes. In this paper, we present the method for architectures whose call instruction puts the return address on the stack. We implemented our method for one of the architectures, namely the RL78 microcontroller, and evaluated using practical programs to show that our method reduce the code size by 0.95%.","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":"2022-01-05","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"1","bibliographicVolumeNumber":"15"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"id":214568,"updated":"2025-01-19T16:33:49.610716+00:00","links":{},"created":"2025-01-19T01:15:22.759252+00:00"}