JIT documentation


When a interpreter written in RPython is translated into an executable, the executable contains a full virtual machine that can optionally include a Just-In-Time compiler. This JIT compiler is generated automatically from the interpreter that we wrote in RPython.

This JIT Compiler Generator can be applied on interpreters for any language, as long as the interpreter itself is written in RPython and contains a few hints to guide the JIT Compiler Generator.


  • Overview: motivating our approach
  • Notes about the current work in PyPy
  • Optimizer: the step between tracing and writing machine code
  • Virtualizable: how virtualizables work and what they are (in other words how to make frames more efficient).
  • Assembler backend: draft notes about the organization of the assembler backends