Study on High-performance and Language-agnostic Hybrid JIT Compiler
Project/Area Number |
21J10682
|
Research Category |
Grant-in-Aid for JSPS Fellows
|
Allocation Type | Single-year Grants |
Section | 国内 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
伊澤 侑祐 東京工業大学, 情報理工学院, 特別研究員(DC2)
|
Project Period (FY) |
2021-04-28 – 2023-03-31
|
Project Status |
Completed (Fiscal Year 2022)
|
Budget Amount *help |
¥1,500,000 (Direct Cost: ¥1,500,000)
Fiscal Year 2022: ¥700,000 (Direct Cost: ¥700,000)
Fiscal Year 2021: ¥800,000 (Direct Cost: ¥800,000)
|
Keywords | インタプリタ / JITコンパイラ / 言語処理系フレームワーク / RPython / PyPy |
Outline of Research at the Start |
実行時コンパイラとは、WebブラウザやJava VMなど、現代のアプリケーションにおいて幅広く使用されている高速化技術である。コンパイル方式の中でもメソッド方式と実行履歴方式が主流である。2方式はそれぞれ得手・不得手があり、相補的な関係にある。本研究は、2方式を融合した新たな実行時コンパイル方式を、あらゆる言語に対して適用可能な汎言語フレームワークとして実現する。これを用い、あらゆる言語で記述されたソフトウェアのさらなる高速化の達成を目標とする。
|
Outline of Annual Research Achievements |
研究計画立案当時は、本研究はGraal/Truffleを用いて遂行する予定だった。しかし、COVID-19の影響により研究協力者との対面でのやりとりが困難になり、PyPy/RPythonを用いた研究へ変更した。一方、研究の根幹となる「プログラミング言語の生産技術」に関するテーマは一環して行ってきた。主な成果として、インタプリタ定義が実行時コンパイラの振舞いを制御・拡張することができる新たな事実を発見した点が挙げられる。これまで、インタプリタは言語の振る舞いを記述するものであると思われていたが、本研究はその固定観念を打破するだけでなく、実行時コンパイラの制御が大きくコンパイラを改変せずとも可能であるという事実を導き出した。この発見により、プログラミング言語の実現に多大な実装コストをかけずとも、インタプリタを介してユーザーが望んだコンパイラの振舞いを実現することができるといった展望が拓かれた。具体的には、RPython言語で書かれたインタプリタにヒント命令を挿入することによってRPythonのメタ実行履歴型実行時コンパイラの挙動を操っている。この技術はインタプリタ・コンパイラの双方を大幅に改変せずとも実現可能なことが、RPythonによって生成されたSmalltalkのサブセットであるPySOMを用いて実証された。この取り組みを軸に、RPythonによる高速なPython処理系であるPyPyへ本研究を導入することによってより現実的なプログラムにおいても本研究提案の有効性を示していくことが今後の課題である。
|
Research Progress Status |
令和4年度が最終年度であるため、記入しない。
|
Strategy for Future Research Activity |
令和4年度が最終年度であるため、記入しない。
|
Report
(2 results)
Research Products
(6 results)