cfbolz at codespeak.net cfbolz at codespeak.net
Wed Apr 8 13:29:00 CEST 2009

Author: cfbolz
Date: Wed Apr  8 13:28:57 2009
New Revision: 63824

Modified:
Log:
I think swapping those two paragraphs improves matters

==============================================================================
+++ pypy/extradoc/talk/icooolps2009/paper.tex	Wed Apr  8 13:28:57 2009
@@ -459,7 +459,11 @@
so the author of the language interpreter needs to indicate this with the help
of a hint.

-The condition for reusing already existing machine code needs to be adapted to
+The language interpreter uses a similar technique to detect \emph{hot user
+loops}: the profiling is done at the backward branches of the user program,
+using one counter per seen program counter of the language interpreter.
+
+The condition for reusing already existing machine code also needs to be adapted to
this new situation. In a classical tracing JIT there is at most one piece of
assembler code per loop of the jitted program, which in our case is the language
interpreter. When applying the tracing JIT to the language interpreter as
@@ -472,10 +476,6 @@
check again only needs to be performed at the backward branches of the language
interpreter.

-The language interpreter uses a similar technique to detect \emph{hot user
-loops}: the profiling is done at the backward branches of the user program,
-using one counter per seen program counter of the language interpreter.
-
\begin{figure}
\input{code/tlr-paper-full.py}
\caption{Simple bytecode interpreter with hints applied}