[pypy-svn] r63486 - pypy/extradoc/talk/icooolps2009
antocuni at codespeak.net
antocuni at codespeak.net
Wed Apr 1 14:25:38 CEST 2009
Author: antocuni
Date: Wed Apr 1 14:25:38 2009
New Revision: 63486
Modified:
pypy/extradoc/talk/icooolps2009/paper.tex
Log:
move the list after the assumptions
Modified: pypy/extradoc/talk/icooolps2009/paper.tex
==============================================================================
--- pypy/extradoc/talk/icooolps2009/paper.tex (original)
+++ pypy/extradoc/talk/icooolps2009/paper.tex Wed Apr 1 14:25:38 2009
@@ -186,17 +186,7 @@
being used by both Mozilla's TraceMonkey JavaScript VM \cite{XXX} and Adobe's
Tamarin ActionScript VM \cite{XXX}.
-Typically, programs executed by a tracing VMs goes through various phases:
-
-\begin{itemize}
-\item Interpretation/profiling
-\item Tracing
-\item Code generation
-\item Execution of the generated code
-\end{itemize}
-
-The \emph{code generation} phase takes as input the trace generated during
-\emph{tracing}. Tracing JITs are built on the following basic assumptions:
+Tracing JITs are built on the following basic assumptions:
\begin{itemize}
\item programs spend most of their runtime in loops
@@ -208,6 +198,18 @@
The code for those common loops however should be highly optimized, including
aggressive inlining.
+Typically, programs executed by a tracing VMs goes through various phases:
+
+\begin{itemize}
+\item Interpretation/profiling
+\item Tracing
+\item Code generation
+\item Execution of the generated code
+\end{itemize}
+
+The \emph{code generation} phase takes as input the trace generated during
+\emph{tracing}.
+
At first, when the program starts, everything is interpreted.
The interpreter does a bit of lightweight profiling to figure out which loops
are run often. This lightweight profiling is usually done by having a counter on
More information about the Pypy-commit
mailing list