Item type |
Trans(1) |
公開日 |
2020-10-23 |
タイトル |
|
|
タイトル |
JavaScript仮想機械記述言語のコンパイラにおける型に基づく最適化 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Type-based Optimizations in Domain Specific Language Compiler for Describing JavaScript Virtual Machines |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[発表概要, Unrefereed Presentatin Abstract] |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
著者所属 |
|
|
|
電気通信大学 |
著者所属 |
|
|
|
電気通信大学 |
著者所属 |
|
|
|
高知工科大学 |
著者所属 |
|
|
|
北里大学 |
著者所属(英) |
|
|
|
en |
|
|
The University of Electro-Communications |
著者所属(英) |
|
|
|
en |
|
|
The University of Electro-Communications |
著者所属(英) |
|
|
|
en |
|
|
Kochi University of Technology |
著者所属(英) |
|
|
|
en |
|
|
Kitasato University |
著者名 |
平澤, 祐太
岩崎, 英哉
鵜川, 始陽
高野, 保真
|
著者名(英) |
Yuta, Hirasawa
Hideya, Iwasaki
Tomoharu, Ugawa
Yasunao, Takano
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
我々は,組込み機器上で動作するカスタマイズ可能なJavaScript仮想機械を実現するツールキットeJSTKの開発を進めている. eJSTKは,仮想機械上で動作させるユーザプログラムで使用を想定するデータ型を, ユーザが指定してカスタマイズする. このことで, 組込み機器で必要とされる必要最小限の機能を持つコンパクトな仮想機械の構築を目指している. カスタマイズのため, eJSTK内部では,第一級の値のデータ型に応じた分岐処理(型ディスパッチ)構文を持つ, 静的型付けのドメイン特化言語VMDLによって, 仮想機械命令を記述する. VMDLのコンパイラは,型ディスパッチ処理コードを最適化するが, 関数をまたがる型の解析を行っていなかったため, 複数箇所から呼び出されるVMDL関数内部におけるディスパッチ処理を最適化することはできなかった. さらに,変数が実行時にとりうる型をコンパイル時に限定できるにもかかわらず, 重複した不要な型ディスパッチ処理を行うコードを生成してしまっていた. これらの問題を解決するため, 本発表では,VMDL上の関数呼び出しの型依存関係を解析し, 関数の引数となりうる実行時の型を求めることにより, 不要なコードを削除する最適化を行った. さらに,VMDL上の関数を呼び出す実引数の型を使ってディスパッチ先が一意に決定できる場合, インライン展開して重複する型ディスパッチ処理の削減を図った. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
We are developing a framework that enables the user to obtain customized JavaScript virtual machines (VMs) on embedded systems. The framework generates a VM on the basis of the user's specifications on pos- sible datatypes used in the target program. In our previous research, we proposed a statically-typed domain specific language VMDL for describing parts of the source code of the VM, which has a syntax for type-based dispatching processes. The VMDL compiler can optimize the generating code for the type-based dispatching process on the basis of the results of its type analysis, but the eliminations of unnecessary type checking processes are insufficient because its type analysis is limited to intra-functional one. To resolve this problem, this presentation proposes design and implementation of two techniques adopted in our new VMDL compiler. The first is inter-functional analysis that computes type dependency relations among VMDL functions and eliminates unnecessary code by determining possible datatypes given to each function as its arguments. The second is inline expansions of auxiliary function calls when only a single branch is determined to be selected within the dispatching process of the auxiliary function. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 13,
号 4,
p. 21-21,
発行日 2020-10-23
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |