[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
Modified:
pypy/extradoc/talk/roadshow-ibm/talk.txt
Log:
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-svn
mailing list