Threaded Code Generation with a Meta-tracing JIT Compiler (bibtex)
by Yusuke Izawa, Hidehiko Masuhara, Carl Friedrich Bolz-Tereick and Youyou Cong
Abstract:
Language implementation frameworks such as RPython and Truffle/Graal are effective tools for creating a high-performance language with lower effort than implementing from scratch. The two frameworks support only a single JIT compilation strategy, trace-based compilation, and method-based compilation, but they have its own advantages and disadvantages. We proposed a meta-hybrid JIT compiler framework to take advantages of the two strategies as a meta-tracing JIT compiler framework. We also implemented a proof-of-concept framework called BacCaml. As a next step, in this position paper, we propose a new approach to realize a method-based baseline JIT compiler along with a trace-based JIT compilation. We aim to use it for further speed-up by preventing the path-divergence problem, which causes serious slow-down. We also show how to implement the baseline JIT compiler with minimal changes on the top of RPython.
Reference:
Threaded Code Generation with a Meta-tracing JIT Compiler (Yusuke Izawa, Hidehiko Masuhara, Carl Friedrich Bolz-Tereick and Youyou Cong), Talk at ICOOOLPS 2021, 2021. (Position paper is archived as arXiv:2106.12496. Revised article appears in JOT [izawa2022jot-icooolps].)
Bibtex Entry:
@misc{izawa2021icooolps,
  author = {Yusuke Izawa and Hidehiko Masuhara and {Carl Friedrich} Bolz-Tereick and Youyou Cong},
  title = {Threaded Code Generation with a Meta-tracing {JIT} Compiler},
  howpublished = {Talk at ICOOOLPS 2021},
  month = jul,
  year = 2021,
  date = {2021-07-13},
  abstract = {Language implementation frameworks such as RPython and Truffle/Graal are effective tools for creating a high-performance language with lower effort than implementing from scratch. The two frameworks support only a single JIT compilation strategy, trace-based compilation, and method-based compilation, but they have its own advantages and disadvantages. We proposed a meta-hybrid JIT compiler framework to take advantages of the two strategies as a meta-tracing JIT compiler framework. We also implemented a proof-of-concept framework called BacCaml. As a next step, in this position paper, we propose a new approach to realize a method-based baseline JIT compiler along with a trace-based JIT compilation. We aim to use it for further speed-up by preventing the path-divergence problem, which causes serious slow-down. We also show how to implement the baseline JIT compiler with minimal changes on the top of RPython. },
  note = {Position paper is archived as arXiv:2106.12496.  Revised article appears in JOT \cite{izawa2022jot-icooolps}.},
  pdf = {icooolps2021.pdf},
  url = {https://conf.researchr.org/details/issta-2021/ecoop-issta-2021-icooolps/3/Threaded-Code-Generation-with-a-Meta-tracing-JIT-Compiler}
}
Powered by bibtexbrowser