[pypy-svn] r77872 - pypy/extradoc/talk/pepm2011
leuschel at codespeak.net
leuschel at codespeak.net
Wed Oct 13 15:31:22 CEST 2010
Author: leuschel
Date: Wed Oct 13 15:31:20 2010
New Revision: 77872
Modified:
pypy/extradoc/talk/pepm2011/paper.tex
Log:
some changes to Sect 1
Modified: pypy/extradoc/talk/pepm2011/paper.tex
==============================================================================
--- pypy/extradoc/talk/pepm2011/paper.tex (original)
+++ pypy/extradoc/talk/pepm2011/paper.tex Wed Oct 13 15:31:20 2010
@@ -131,7 +131,7 @@
A recently popular approach to implementing just-in-time compilers for dynamic
languages is that of a tracing JIT. A tracing JIT works by observing the running
-program and recording its hot parts into linear execution traces, which are then turned into
+program and recording its hot spots into linear execution traces, which are then turned into
machine code. One reason for the popularity of tracing JITs is their relative
simplicity. They can often be added to an interpreter and a lot of the
infrastructure of an interpreter can be reused. They give some important
@@ -140,16 +140,16 @@
hard in a compiler, such as register allocation.
The usage of a tracing JIT can remove the overhead of bytecode dispatch and that
-of the interpreter data structures. In this paper we want to present an approach
-how an optimization can be added to a tracing JIT that also removes some of the
+of the interpreter data structures. In this paper we want to present a new
+optimization that can be added to a tracing JIT that further removes some of the
overhead more closely associated to dynamic languages, such as boxing overhead
and type dispatching. Our experimental platform is the PyPy project, which is an
environment for implementing dynamic programming languages. PyPy and tracing
JITs are described in more detail in Section~\ref{sec:Background}.
Section~\ref{sec:lifetimes} analyzes the problem to be solved more closely.
-The most important technique we use to achieve to optimize traces is a
-straightforward application of partial evaluation. The partial evaluation
+The core of our trace optimization technique can be
+viewed as partial evaluation: the partial evaluation
performs a form of escape analysis \cite{bruno_blanchet_escape_2003} on the traces and make some
objects that are allocated in the trace \emph{static}\footnote{These objects are
called \emph{virtual} in Psyco \cite{rigo_representation-based_2004}.} which
More information about the Pypy-commit
mailing list