[pypy-svn] r60656 - pypy/extradoc/talk/ecoop2009

antocuni at codespeak.net antocuni at codespeak.net
Sat Dec 20 19:31:23 CET 2008


Author: antocuni
Date: Sat Dec 20 19:31:22 2008
New Revision: 60656

Modified:
   pypy/extradoc/talk/ecoop2009/intro.tex
   pypy/extradoc/talk/ecoop2009/jitgen.tex
   pypy/extradoc/talk/ecoop2009/rainbow.tex
Log:
fix few XXXs



Modified: pypy/extradoc/talk/ecoop2009/intro.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/intro.tex	(original)
+++ pypy/extradoc/talk/ecoop2009/intro.tex	Sat Dec 20 19:31:22 2008
@@ -122,15 +122,14 @@
 care to choose a strategy for JIT compilation that lets the compiler to take
 the best of this advantage.
 
-Most JIT compilers for dynamic languages around (such as IronPython, Jython,
-JRuby \anto{XXX insert some reference}) compile code at the method
-granularity.  If on the one hand they can exploit some of the knowledge gathered
-at runtime (e.g. the types of method parameters), on the other hand they can
-do little to optimize most of the operations inside, because their behaviour
-depends on informations that are not available at compile-time, because
-e.g. the global state of the program can change at runtime. \anto{e.g., we can
-  add/remove methods to classes, etc. Should we insert some example here?}
-\cfbolz{the last sentence is waaay too complicated}
+Most JIT compilers for dynamic languages around (such as
+IronPython \footnote{http://www.codeplex.com/IronPython},
+Jython \footnote{http://www.jython.org/} or
+JRuby \footnote{http://jruby.codehaus.org/}) compile code at the method
+granularity.  If on the one hand they can exploit some of the knowledge
+gathered at runtime (e.g. the types of method parameters), on the other hand
+they can do little to optimize most of the operations inside, because few
+assumptions can be made about the global state of the program.
 
 JIT compilers generated by PyPy solve this problem by delaying the compilation
 until they know all the informations needed to generate efficient code.  If at

Modified: pypy/extradoc/talk/ecoop2009/jitgen.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/jitgen.tex	(original)
+++ pypy/extradoc/talk/ecoop2009/jitgen.tex	Sat Dec 20 19:31:22 2008
@@ -138,17 +138,10 @@
 function.  The \emph{binding time} of a variable determines how early the
 value of the variable will be known.
 
-XXX write something about the problems of classical PE?
-
 \subsection{Binding Time Analysis in PyPy}
 
-XXX need better transition text from last section
 At translation time, PyPy performs binding-time analysis of the source
-RPython program after it has been turned to low-level graphs, i.e. at
-the level at which operations manipulate objects that have a fixed type
-attached.
-
-The binding-time terminology that we are using in PyPy is based on the
+RPython program.  The binding-time terminology that we are using in PyPy is based on the
 colors that we use when displaying the control flow graphs:
 
 \begin{itemize}
@@ -162,9 +155,7 @@
 abstract-interpretation based analysis. It is based on the
 same type inference engine that is used on the source RPython program.
 This is called the \emph{hint-annotator}; it
-operates over input graphs that are already low-level instead of
-RPython-level, \anto{we never make distinction between low-level and rpython-level 
-flowgraphs, do we? I propose to talk about ``intermediate flowgraphs''} 
+operates over input flowgraphs
 and propagates annotations that do not track types but
 value dependencies and manually-provided binding time hints.
 

Modified: pypy/extradoc/talk/ecoop2009/rainbow.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/rainbow.tex	(original)
+++ pypy/extradoc/talk/ecoop2009/rainbow.tex	Sat Dec 20 19:31:22 2008
@@ -66,7 +66,7 @@
 must be put in the source code of the interpreter.
 
 From a partial evaluation point of view, promotion is the converse of
-the operation generally known as \emph{lift} \cite{XXX}.  Lifting a value means
+the operation generally known as \emph{lift}.  Lifting a value means
 copying a variable whose binding time is compile-time into a variable
 whose binding time is run-time – it corresponds to the compiler
 ``forgetting'' a particular value that it knew about.  By contrast,



More information about the Pypy-commit mailing list