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ö} @@ -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