OpenJIT 2: the design and implementation of application framework for JIT compilers

  • Authors:
  • Fuyuhiko Maruyama;Satoshi Matsuoka;Hirotaka Ogawa;Naoya Maruyama;Kouya Shimura

  • Affiliations:
  • Tokyo Institute of Technology, Tokyo, Japan;Tokyo Institute of Technology, Tokyo, Japan;Tokyo Institute of Technology, Tokyo, Japan;Tokyo Institute of Technology, Tokyo, Japan;Fujitsu Laboratories, Kanagawa, Japan

  • Venue:
  • JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

We are currently working on a new architecture for Java JIT compilers to allow coexistence of multiple, customized JIT compilers in a single Java VM simultaneously without prohibitive space or programming costs, called OpenJIT2. The project builds on the success of OpenJIT1, the first open-ended JIT compiler for Java written in Java. Not only that our new architecture subsumes the so-called 'bi-level' or 'tri-level' JIT compilers of today, but allows application, environment, or user-specific JIT compilers to coexist and invoked at appropriate moments as decided by the runtime. The compiler fragment modules can either be built-in or even dynamically downloaded from the network on demand to tailor the compiler for specific needs. We believe such customization allows the best performance to be squeezed out of applications in a way not possible with generic optimization strategies. OpenJIT2 will also be publically distributed for free and supported just as was with OpenJIT1 to serve as application framework for general compiler research by others, having a very clean and customizable object-oriented framework structure as opposed to OpenJIT1. We also hope that it will serve as commercial quality replacement JIT compiler for various platforms.