File: index.rst

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (44 lines) | stat: -rw-r--r-- 1,242 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
.. _jit:

JIT documentation
=================

:abstract:

    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.


Content
-------

.. toctree::
   :hidden:

   overview
   pyjitpl5
   optimizer
   ruleopt
   virtualizable
   vectorization
   backend

- :doc:`Overview <overview>`: motivating our approach

- :doc:`Notes <pyjitpl5>` about the current work in PyPy

- :doc:`Optimizer <optimizer>`: the step between tracing and writing
  machine code, including the :doc:`Ruleopt <ruleopt>`, which is a DSL for
  specifying peephole optimization rules for integers.

- :doc:`Virtualizable <virtualizable>`: how virtualizables work and what
  they are (in other words how to make frames more efficient).

- :doc:`Assembler backend <backend>`: draft notes about the organization
  of the assembler backends