[pypy-svn] r77925 - pypy/extradoc/talk/pepm2011

cfbolz at codespeak.net cfbolz at codespeak.net
Thu Oct 14 14:43:50 CEST 2010


Author: cfbolz
Date: Thu Oct 14 14:43:49 2010
New Revision: 77925

Modified:
   pypy/extradoc/talk/pepm2011/escape-tracing.pdf
   pypy/extradoc/talk/pepm2011/paper.tex
Log:
fix another an XXX and a typo


Modified: pypy/extradoc/talk/pepm2011/escape-tracing.pdf
==============================================================================
Binary files. No diff available.

Modified: pypy/extradoc/talk/pepm2011/paper.tex
==============================================================================
--- pypy/extradoc/talk/pepm2011/paper.tex	(original)
+++ pypy/extradoc/talk/pepm2011/paper.tex	Thu Oct 14 14:43:49 2010
@@ -488,13 +488,17 @@
 first \lstinline{guard_class} instruction will fail and execution will continue
 using the interpreter.
 
-The trace shows the inefficiencies of \lstinline{f} clearly, if one looks at the
-number of \lstinline{new}, \lstinline{set/get} and \lstinline{guard_class} operations.
+The trace shows the inefficiencies of \lstinline{f} clearly, if one looks at
+the number of \lstinline{new}, \lstinline{set/get} and \lstinline{guard_class}
+operations. The number of \lstinline{guard_class} operation is particularly
+problematic, not only because of the time it takes to run them. All guards also
+have additional information attached that makes it possible to return to the
+interpreter, should the guard fail. This means that many guard operations also
+lead to a memory problem.
+
 In the rest of the paper we will see how this trace can be optimized using
 partial evaluation.
 
-XXX add comment that guards are not only slow, but also use lots of memory
-
 \section{Object Lifetimes in a Tracing JIT}
 \label{sec:lifetimes}
 
@@ -571,7 +575,7 @@
 but it is only used to optimize operations within a trace.
 
 The partial evaluation works by traversing the trace from beginning to end.
-Whenever a \lstinline{new} operation is seen, the operation is removed and a \empth{static
+Whenever a \lstinline{new} operation is seen, the operation is removed and a \emph{static
 object}\footnote{Here ``static'' is meant in the sense of partial
 evaluation, \ie known at partial evaluation time, not in the sense of static
 allocation or static method.} is constructed and associated with the variable



More information about the Pypy-commit mailing list