Author: Antonio Cuni <[email protected]>
Branch: extradoc
Changeset: r5621:5bbdec29c586
Date: 2016-04-02 16:03 +0200
http://bitbucket.org/pypy/extradoc/changeset/5bbdec29c586/

Log:    more slides

diff --git a/talk/bucharest2016/jit-frontend/talk.rst 
b/talk/bucharest2016/jit-frontend/talk.rst
--- a/talk/bucharest2016/jit-frontend/talk.rst
+++ b/talk/bucharest2016/jit-frontend/talk.rst
@@ -54,6 +54,9 @@
 
   - "like GCC" (it statically produces a binary)
 
+  - you can run RPython programs on top of CPython (veeery slow, for
+    development only)
+
 |pause|
 
 * ``pypy``: a Python interpreter
@@ -159,6 +162,77 @@
 
 **The PyPy JIT**
 
+
+Terminology (1)
+----------------
+
+* **translation time**: when you run "rpython targetpypy.py" to get the
+  ``pypy` binary
+
+* **runtime**: everything which happens after you start ``pypy``
+
+* **interpretation**, **tracing**, **compiling**
+
+* **assembler/machine code**: the output of the JIT compiler
+
+* **execution time**: when your Python program is being executed
+
+  - by the interpreter
+
+  - by the machine code
+
+
+Terminology (2)
+----------------
+
+* **interp-level**: things written in RPython
+
+* **[PyPy] interpreter**: the RPython program which executes the final Python
+  programs
+
+* **bytecode**: "the output of dis.dis". It is executed by the PyPy
+  interpreter.
+
+* **app-level**: things written in Python, and executed by the PyPy
+  Interpreter
+
+
+Terminology (3)
+---------------
+
+* (the following is not 100% accurate but it's enough to understand the
+  general principle)
+
+* **low level op or ResOperation**
+
+  - low-level instructions like "add two integers", "read a field out of a
+    struct", "call this function"
+
+  - (more or less) the same level of C ("portable assembler")
+
+  - knows about GC objects (e.g. you have ``getfield_gc`` vs ``getfield_raw``)
+
+
+* **jitcodes**: low-level representation of RPython functions
+
+  - sequence of low level ops
+
+  - generated at **translation time**
+
+  - 1 RPython function --> 1 C function --> 1 jitcode
+
+
+* **JIT traces or loops**
+
+  - a very specific sequence of llops as actually executed by your Python 
program
+
+  - generated at **runtime** (more specifically, during **tracing**)
+
+* **JIT optimizer**: takes JIT traces and emits JIT traces
+
+* **JIT backend**: takes JIT traces and emits machine code
+
+
 General architecture
 ---------------------
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to