[pypy-svn] r48266 - pypy/extradoc/talk/roadshow-ibm

pedronis at codespeak.net pedronis at codespeak.net
Sat Nov 3 09:31:47 CET 2007

Author: pedronis
Date: Sat Nov  3 09:31:46 2007
New Revision: 48266

some rough technical meat for the ibm talk before I forget about it

(samuele, slitghtly more lucid than yesterday)

Modified: pypy/extradoc/talk/roadshow-ibm/talk.txt
--- pypy/extradoc/talk/roadshow-ibm/talk.txt	(original)
+++ pypy/extradoc/talk/roadshow-ibm/talk.txt	Sat Nov  3 09:31:46 2007
@@ -56,6 +56,45 @@
 * The translation framework can be reused by _any_ dynamic language!
+Translation details
+- RPython translation starts from loaded and initialized RPython
+  code as python bytecode in a Python VM.
+- PyPy uses abstract interpretation extensively: to construct flow-graphs,
+  for type inference, to gather information for some optimisations
+- Obviously in the PE based generated Dynamic Compilers
+- Flow-graph transformation and rewriting is also used 
+Representation choice
+A complex part of RPython translation is choosing implementations
+and representations of its still rich built-in types that work for
+the target platforms (C/LLVM vs. OO VMs)
+We model the classes of targets through different type systems:
+- low-level: data and function pointers, structures, ...
+- object oriented: classes, instances, inheritance and dispatching
+Type systems and helpers
+We have emulation of the type systems that can run on top of CPython,
+we use them for testing but also for:
+- constructing and representing the static data that our approach involves
+  (we start from live objects) at translation time
+- the implementation of built-in type for the targets require helper functions:
+  they are expressed using the emulations which our translation knows about
+  and can translate too
 Translation aspects

More information about the Pypy-commit mailing list