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

cfbolz at codespeak.net cfbolz at codespeak.net
Thu Dec 18 16:25:00 CET 2008


Author: cfbolz
Date: Thu Dec 18 16:24:59 2008
New Revision: 60578

Modified:
   pypy/extradoc/talk/ecoop2009/benchmarks.tex
   pypy/extradoc/talk/ecoop2009/jitgen.tex
   pypy/extradoc/talk/ecoop2009/main.bib
   pypy/extradoc/talk/ecoop2009/rainbow.tex
Log:
kill a footnote, add a reference


Modified: pypy/extradoc/talk/ecoop2009/benchmarks.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/benchmarks.tex	(original)
+++ pypy/extradoc/talk/ecoop2009/benchmarks.tex	Thu Dec 18 16:24:59 2008
@@ -235,13 +235,13 @@
 \item The object is still allocated on the heap, and thus there is an extra
   level of indirection to access the \lstinline{value} field.
 \item The method call is optimized through a \emph{polymorphic inline cache}
-  (XXX: citation needed), that requires a guard check at each iteration.
+  \cite{hoelzle_optimizing_1991}, that requires a guard check at each iteration.
 \end{itemize}
 
 \anto{maybe we should move the following paragraph to
   abstract/introduction/conclusion?}
 
-Despite being only a microbenchark, this result is very important as it proves
+Despite being only a microbenchmarks, this result is very important as it proves
 that our strategy of intermixing compile time and runtime can yield to better
 performances than current techniques.  The result is even more impressive if
 we consider dynamically typed languages as TLC are usually considered much

Modified: pypy/extradoc/talk/ecoop2009/jitgen.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/jitgen.tex	(original)
+++ pypy/extradoc/talk/ecoop2009/jitgen.tex	Thu Dec 18 16:24:59 2008
@@ -220,7 +220,7 @@
 branches are taken in the residual graph.
 \end{itemize}
 
-\subsubsection{Hints}
+\subsection{Hints}
 
 Our goal in designing our approach to binding-time analysis was to
 minimize the number of explicit hints that the user must provide in

Modified: pypy/extradoc/talk/ecoop2009/main.bib
==============================================================================
--- pypy/extradoc/talk/ecoop2009/main.bib	(original)
+++ pypy/extradoc/talk/ecoop2009/main.bib	Thu Dec 18 16:24:59 2008
@@ -49,3 +49,23 @@
 year      = {2006},
 pages     = {944-953},
 }
+
+ at inproceedings{hoelzle_optimizing_1991,
+	title = {Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches},
+	isbn = {3-540-54262-0},
+	url = {http://portal.acm.org/citation.cfm?id=679193\&dl=ACM\&coll=portal},
+	booktitle = {Proceedings of the European Conference on Object-Oriented Programming},
+	publisher = {Springer-Verlag},
+	author = {Urs H{\"o}lzle and Craig Chambers and David Ungar},
+	year = {1991},
+	pages = {21-38}
+}
+
+ at book{Jones:peval,
+   author =    {Jones, Neil D. and Gomard, Carsten K. and Sestoft, Peter},
+   title =     {Partial Evaluation and Automatic Program Generation},
+   publisher = {Prentice Hall},
+   year =      1993,
+}
+
+

Modified: pypy/extradoc/talk/ecoop2009/rainbow.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/rainbow.tex	(original)
+++ pypy/extradoc/talk/ecoop2009/rainbow.tex	Thu Dec 18 16:24:59 2008
@@ -57,7 +57,7 @@
 techniques are crucial for good results.  The main goal is to
 optimize and reduce the overhead of dynamic dispatching and indirect
 invocation.  This is achieved with variations on the technique of
-polymorphic inline caches \cite{XXX}: the dynamic lookups are cached and
+polymorphic inline caches \cite{hoelzle_optimizing_1991}: the dynamic lookups are cached and
 the corresponding generated machine code contains chains of
 compare-and-jump instructions which are modified at run-time.  These
 techniques also allow the gathering of information to direct inlining for even
@@ -71,10 +71,7 @@
 at compile-time, it can first be read at run-time out of the object and
 promoted to compile-time.  As we will see in the sequel, this produces
 machine code very similar to that of polymorphic inline
-caches\footnote{Promotion can also be seen as a generalization of
-a partial evaluation transformation called "The Trick" (see e.g. \cite{XXX}),
-which again produces similar code but which is only applicable for finite sets
-of values.}.
+caches.
 
 The essential advantage of promotion is that it is no longer tied to the details of
 the dispatch semantics of the language being interpreted, but applies in



More information about the Pypy-commit mailing list