• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

Study on High-performance and Language-agnostic Hybrid JIT Compiler

Research Project

Project/Area Number 21J10682
Research Category

Grant-in-Aid for JSPS Fellows

Allocation TypeSingle-year Grants
Section国内
Review Section Basic Section 60050:Software-related
Research InstitutionTokyo 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)
  • 2022 Annual Research Report
  • 2021 Annual Research Report
  • Research Products

    (6 results)

All 2023 2022 2021 Other

All Int'l Joint Research (1 results) Journal Article (1 results) (of which Int'l Joint Research: 1 results,  Peer Reviewed: 1 results,  Open Access: 1 results) Presentation (4 results) (of which Int'l Joint Research: 4 results)

  • [Int'l Joint Research] Heinrich Heine Universitat Dusseldorf(ドイツ)

    • Related Report
      2022 Annual Research Report
  • [Journal Article] Threaded Code Generation with a Meta-Tracing JIT Compiler.2022

    • Author(s)
      Izawa Yusuke、Masuhara Hidehiko、Bolz-Tereick Carl Friedrich、Cong Youyou
    • Journal Title

      The Journal of Object Technology

      Volume: 21 Issue: 2 Pages: 1-11

    • DOI

      10.5381/jot.2022.21.2.a1

    • Related Report
      2022 Annual Research Report
    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Presentation] Interpreter Taming to Realize Multiple Compilations in a Meta-Tracing JIT Compiler Framework2023

    • Author(s)
      Izawa Yusuke、Masuhara Hidehiko、Bolz-Tereick Carl Friedrich
    • Organizer
      The 7th MoreVMs workshop (MoreVMs’23)
    • Related Report
      2022 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Taming an Interpreter for Threaded Code Generation with a Tracing JIT Compiler2022

    • Author(s)
      Izawa Yusuke、Masuhara Hidehiko
    • Organizer
      The 17th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS 2022)
    • Related Report
      2022 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Two-level Just-in-Time Compilation with One Interpreter and One Engine2022

    • Author(s)
      Yusuke Izawa, Hidehiko Masuhara, and Carl Friedrich Bolz-Tereick
    • Organizer
      The ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
    • Related Report
      2021 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Threaded Code Generation with a Meta-tracing JIT Compiler2021

    • Author(s)
      Yusuke Izawa, Hidehiko Masuhara, Carl Friedrich Bolz-Tereick, and Youyou Cong
    • Organizer
      The 16th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
    • Related Report
      2021 Annual Research Report
    • Int'l Joint Research

URL: 

Published: 2021-05-27   Modified: 2024-03-26  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi