{"updated":"2025-01-19T14:35:23.714478+00:00","links":{},"created":"2025-01-19T01:20:23.242254+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00220342","sets":["581:10784:10795"]},"path":["10795"],"owner":"44499","recid":"220342","title":["Generating Virtual Machine Code of JavaScript Engine for Embedded Systems "],"pubdate":{"attribute_name":"公開日","attribute_value":"2022-10-15"},"_buckets":{"deposit":"2d78d09a-ae25-496d-812d-ecd5f761c5e6"},"_deposit":{"id":"220342","pid":{"type":"depid","value":"220342","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"Generating Virtual Machine Code of JavaScript Engine for Embedded Systems ","author_link":["576481","576482","576476","576478","576483","576479","576480","576477"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Generating Virtual Machine Code of JavaScript Engine for Embedded Systems "},{"subitem_title":"Generating Virtual Machine Code of JavaScript Engine for Embedded Systems ","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[一般論文] JavaScript virtual machine, domain-specific languages, VM internal datatype, compilers","subitem_subject_scheme":"Other"}]},"item_type_id":"2","publish_date":"2022-10-15","item_2_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"The University of Electro-Communications/Presently with Fujitsu Limited"},{"subitem_text_value":"The University of Electro-Communications/Presently with School of Science and Technology, Meiji University"},{"subitem_text_value":"The University of Tokyo"},{"subitem_text_value":"The University of Electro-Communications/Presently with KLab Inc."}]},"item_2_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"The University of Electro-Communications / Presently with Fujitsu Limited","subitem_text_language":"en"},{"subitem_text_value":"The University of Electro-Communications / Presently with School of Science and Technology, Meiji University","subitem_text_language":"en"},{"subitem_text_value":"The University of Tokyo","subitem_text_language":"en"},{"subitem_text_value":"The University of Electro-Communications / Presently with KLab Inc.","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"eng"}]},"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/220342/files/IPSJ-JNL6310001.pdf","label":"IPSJ-JNL6310001.pdf"},"date":[{"dateType":"Available","dateValue":"2024-10-15"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-JNL6310001.pdf","filesize":[{"value":"1.2 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"5"},{"tax":["include_tax"],"price":"0","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"8"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"6e2d31a6-fdb6-4fc5-b34a-e1de45242512","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2022 by the Information Processing Society of Japan"}]},"item_2_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Yuta, Hirasawa"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Hideya, Iwasaki"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Tomoharu, Ugawa"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Hiro, Onozawa"}],"nameIdentifiers":[{}]}]},"item_2_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Yuta, Hirasawa","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Hideya, Iwasaki","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Tomoharu, Ugawa","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Hiro, Onozawa","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_2_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN00116647","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_2_publisher_15":{"attribute_name":"公開者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"item_2_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7764","subitem_source_identifier_type":"ISSN"}]},"item_2_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"Virtual machines (VMs) for dynamically managed languages such as JavaScript are generally implemented in C or C++. Implementation of VMs in such low-level languages offers the advantage of high flexibility, but it suffers from problems of descriptiveness and safety. These problems are due to the fact that even though a variety of VM operations are based on the VM's internal datatypes for first-class objects in the target language, the C code typically treats all VM internal datatypes as a single type in C. In addition, VMs implemented in C or C++ have a size problem which is a serious issue for VMs on embedded systems. The reason for this problem is the difficulty of eliminating unnecessary code fragments from the C code for a specific application. To solve these problems, we propose a domain-specific language for describing VM programs and a corresponding compiler to C programs, called VMDL and VMDLC, respectively. We also propose related utility tools. This framework enables generation of C source code for an eJSVM, a JavaScript VM for embedded systems. VMDL's concise syntax enables static VM datatype analysis for optimizations and error detection. We evaluated the framework and confirmed its effectiveness from both qualitative and quantitative viewpoints.\n------------------------------\nThis is a preprint of an article intended for publication Journal of\nInformation Processing(JIP). This preprint should not be cited. This\narticle should be cited as: Journal of Information Processing Vol.30(2022) (online)\nDOI http://dx.doi.org/10.2197/ipsjjip.30.679\n------------------------------","subitem_description_type":"Other"}]},"item_2_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Virtual machines (VMs) for dynamically managed languages such as JavaScript are generally implemented in C or C++. Implementation of VMs in such low-level languages offers the advantage of high flexibility, but it suffers from problems of descriptiveness and safety. These problems are due to the fact that even though a variety of VM operations are based on the VM's internal datatypes for first-class objects in the target language, the C code typically treats all VM internal datatypes as a single type in C. In addition, VMs implemented in C or C++ have a size problem which is a serious issue for VMs on embedded systems. The reason for this problem is the difficulty of eliminating unnecessary code fragments from the C code for a specific application. To solve these problems, we propose a domain-specific language for describing VM programs and a corresponding compiler to C programs, called VMDL and VMDLC, respectively. We also propose related utility tools. This framework enables generation of C source code for an eJSVM, a JavaScript VM for embedded systems. VMDL's concise syntax enables static VM datatype analysis for optimizations and error detection. We evaluated the framework and confirmed its effectiveness from both qualitative and quantitative viewpoints.\n------------------------------\nThis is a preprint of an article intended for publication Journal of\nInformation Processing(JIP). This preprint should not be cited. This\narticle should be cited as: Journal of Information Processing Vol.30(2022) (online)\nDOI http://dx.doi.org/10.2197/ipsjjip.30.679\n------------------------------","subitem_description_type":"Other"}]},"item_2_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌"}],"bibliographicIssueDates":{"bibliographicIssueDate":"2022-10-15","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"10","bibliographicVolumeNumber":"63"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"id":220342}