Author: Carl Friedrich Bolz <cfb...@gmx.de>
Branch: extradoc
Changeset: r3714:e03abd8dc15b
Date: 2011-06-16 18:48 +0200
http://bitbucket.org/pypy/extradoc/changeset/e03abd8dc15b/

Log:    a minimal introduction section on PyPy

diff --git a/talk/iwtc11/paper.tex b/talk/iwtc11/paper.tex
--- a/talk/iwtc11/paper.tex
+++ b/talk/iwtc11/paper.tex
@@ -105,7 +105,7 @@
 \titlebanner{draft}        % These are ignored unless
 %\preprintfooter{short description of paper}   % 'preprint' option specified.
 
-\title{Loop Invariant Code Motion in PyPy's Tracing JIT}
+\title{Loop-Aware Optimizations in PyPy's Tracing JIT}
 %\subtitle{Subtitle Text, if any}
 
 \authorinfo{H\aa kan Ard&#246;}
@@ -175,6 +175,31 @@
 % jump(i2, i3)
 % none of the operations is loop-invariant, but loop peeling will still remove 
the second addition
 
+\section{Background: PyPy}
+\label{sec:PyPy}
+
+The work described in this paper was done in the context of the PyPy
+project\footnote{\url{http://pypy.org}}. PyPy is a framework for implementing
+dynamic languages efficiently \cite{armin_rigo_pypys_2006}. When implementing a
+language with PyPy, one writes an interpreter for the language in RPython
+\cite{davide_ancona_rpython:_2007}. RPython (``Restricted Python``) is a subset
+of Python chosen in such a way that it can be efficiently translated to a
+C-based VM by performing type inference.
+
+Many low-level aspects of the final VM are not contained within the interpreter
+implementation but are inserted during translation to C. Examples for this are 
a
+garbage collector and also a tracing JIT compiler \cite{bolz_tracing_2009}.
+
+PyPy's tracing JIT compiler traces on the level of RPython programs. Thus it
+actually traces the execution of an interpreter written in RPython, not of the
+program itself. This makes the details of the object model of the implemented
+language transparent and optimizable by the tracing JIT. In the context of this
+paper, this aspect of PyPy's tracing JIT can be ignored. Instead, it is
+sufficient to view PyPy's tracing JIT as a JIT for RPython.
+
+
+% section PyPy (end)
+
 \section{Motivation}
 \label{sec:Motivation}
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to