2013 Fiscal Year Annual Research Report
実用的ウェブアプリケーション開発を支援するサーバサイドJavaScript処理系
Project/Area Number |
23500038
|
Research Institution | The University of Electro-Communications |
Principal Investigator |
岩崎 英哉 電気通信大学, 情報理工学研究科, 教授 (90203372)
|
Co-Investigator(Kenkyū-buntansha) |
鵜川 始陽 電気通信大学, 情報理工学研究科, 助教 (50423017)
中野 圭介 電気通信大学, 情報理工学研究科, 准教授 (30505839)
|
Keywords | プログラミング言語処理系 / 仮想機械 / コンパイラ |
Research Abstract |
本研究は,サーバ側で実用的な性能で動作するJavaScript処理系を研究開発することにより,煩雑とされているWebアプリケーション開発のコストを大きく低減させ,広く一般の利用に供することを目的としている.最終年度である平成25年度は,以下の2点に関して重点的に研究を行い,研究成果を得た. 1. Just In Time コンパイラの実装: JavaScriptはその特徴から,静的な最適化には不向きであり,頻繁に実行されるコードの実行時情報を用いてコンパイルする Just In Time (JIT) コンパイル機構が有効である.そこで,本研究で開発しているJavaScript仮想機械処理系において,サーバサイドという特性を生かし,JITコンパイル機構を実装し評価した.本機構は,C言語をはじめとする様々な言語のバックエンドに対応が可能なコンパイラ基盤であるLLVMを利用し,JavaScript固有の最適化をLLVMの中間表現の生成前に行い,言語非依存の最適化はLLVMの最適化機構に任せるという方針をとった.JavaScript固有の最適化では,型推論による型特殊化,インラインキャッシングなどを行っている.評価実験は,数値計算中心のプログラムの長期間のプログラム運用を前提として行い,本機構の有効性を確認した. 2. 並列 JavaScript 処理系の実装: イベント駆動方式に基づくサーバに注目して,イベント駆動方式のサーバを自動的に並列実行するための機構を設計し,実装した.並列実行の制御を,処理系処理系が提供するAPIの内部で自動的に行うことにより,サーバ記述の複雑化を避けつつ,サーバの並列動作を可能とした.実装は本研究で開発しているJavaScript仮想機械に行い,その効果を確認した.
|
Research Products
(3 results)