• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 前のページに戻る

実行速度と汎用性を両立する次世代JITコンパイラの研究

研究課題

研究課題/領域番号 21J10682
研究種目

特別研究員奨励費

配分区分補助金
応募区分国内
審査区分 小区分60050:ソフトウェア関連
研究機関東京工業大学

研究代表者

伊澤 侑祐  東京工業大学, 情報理工学院, 特別研究員(DC2)

研究期間 (年度) 2021-04-28 – 2023-03-31
研究課題ステータス 完了 (2022年度)
配分額 *注記
1,500千円 (直接経費: 1,500千円)
2022年度: 700千円 (直接経費: 700千円)
2021年度: 800千円 (直接経費: 800千円)
キーワードインタプリタ / JITコンパイラ / 言語処理系フレームワーク / RPython / PyPy
研究開始時の研究の概要

実行時コンパイラとは、WebブラウザやJava VMなど、現代のアプリケーションにおいて幅広く使用されている高速化技術である。コンパイル方式の中でもメソッド方式と実行履歴方式が主流である。2方式はそれぞれ得手・不得手があり、相補的な関係にある。本研究は、2方式を融合した新たな実行時コンパイル方式を、あらゆる言語に対して適用可能な汎言語フレームワークとして実現する。これを用い、あらゆる言語で記述されたソフトウェアのさらなる高速化の達成を目標とする。

研究実績の概要

研究計画立案当時は、本研究はGraal/Truffleを用いて遂行する予定だった。しかし、COVID-19の影響により研究協力者との対面でのやりとりが困難になり、PyPy/RPythonを用いた研究へ変更した。一方、研究の根幹となる「プログラミング言語の生産技術」に関するテーマは一環して行ってきた。主な成果として、インタプリタ定義が実行時コンパイラの振舞いを制御・拡張することができる新たな事実を発見した点が挙げられる。これまで、インタプリタは言語の振る舞いを記述するものであると思われていたが、本研究はその固定観念を打破するだけでなく、実行時コンパイラの制御が大きくコンパイラを改変せずとも可能であるという事実を導き出した。この発見により、プログラミング言語の実現に多大な実装コストをかけずとも、インタプリタを介してユーザーが望んだコンパイラの振舞いを実現することができるといった展望が拓かれた。具体的には、RPython言語で書かれたインタプリタにヒント命令を挿入することによってRPythonのメタ実行履歴型実行時コンパイラの挙動を操っている。この技術はインタプリタ・コンパイラの双方を大幅に改変せずとも実現可能なことが、RPythonによって生成されたSmalltalkのサブセットであるPySOMを用いて実証された。この取り組みを軸に、RPythonによる高速なPython処理系であるPyPyへ本研究を導入することによってより現実的なプログラムにおいても本研究提案の有効性を示していくことが今後の課題である。

現在までの達成度 (段落)

令和4年度が最終年度であるため、記入しない。

今後の研究の推進方策

令和4年度が最終年度であるため、記入しない。

報告書

(2件)
  • 2022 実績報告書
  • 2021 実績報告書
  • 研究成果

    (6件)

すべて 2023 2022 2021 その他

すべて 国際共同研究 (1件) 雑誌論文 (1件) (うち国際共著 1件、 査読あり 1件、 オープンアクセス 1件) 学会発表 (4件) (うち国際学会 4件)

  • [国際共同研究] Heinrich Heine Universitat Dusseldorf(ドイツ)

    • 関連する報告書
      2022 実績報告書
  • [雑誌論文] Threaded Code Generation with a Meta-Tracing JIT Compiler.2022

    • 著者名/発表者名
      Izawa Yusuke、Masuhara Hidehiko、Bolz-Tereick Carl Friedrich、Cong Youyou
    • 雑誌名

      The Journal of Object Technology

      巻: 21 号: 2 ページ: 1-11

    • DOI

      10.5381/jot.2022.21.2.a1

    • 関連する報告書
      2022 実績報告書
    • 査読あり / オープンアクセス / 国際共著
  • [学会発表] Interpreter Taming to Realize Multiple Compilations in a Meta-Tracing JIT Compiler Framework2023

    • 著者名/発表者名
      Izawa Yusuke、Masuhara Hidehiko、Bolz-Tereick Carl Friedrich
    • 学会等名
      The 7th MoreVMs workshop (MoreVMs’23)
    • 関連する報告書
      2022 実績報告書
    • 国際学会
  • [学会発表] Taming an Interpreter for Threaded Code Generation with a Tracing JIT Compiler2022

    • 著者名/発表者名
      Izawa Yusuke、Masuhara Hidehiko
    • 学会等名
      The 17th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS 2022)
    • 関連する報告書
      2022 実績報告書
    • 国際学会
  • [学会発表] Two-level Just-in-Time Compilation with One Interpreter and One Engine2022

    • 著者名/発表者名
      Yusuke Izawa, Hidehiko Masuhara, and Carl Friedrich Bolz-Tereick
    • 学会等名
      The ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
    • 関連する報告書
      2021 実績報告書
    • 国際学会
  • [学会発表] Threaded Code Generation with a Meta-tracing JIT Compiler2021

    • 著者名/発表者名
      Yusuke Izawa, Hidehiko Masuhara, Carl Friedrich Bolz-Tereick, and Youyou Cong
    • 学会等名
      The 16th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
    • 関連する報告書
      2021 実績報告書
    • 国際学会

URL: 

公開日: 2021-05-27   更新日: 2024-03-26  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi