[pypy-svn] r63576 - pypy/extradoc/talk/icooolps2009-dotnet

antocuni at codespeak.net antocuni at codespeak.net
Fri Apr 3 18:52:38 CEST 2009


Author: antocuni
Date: Fri Apr  3 18:52:35 2009
New Revision: 63576

Modified:
   pypy/extradoc/talk/icooolps2009-dotnet/conclusion.tex
Log:
adapt the conclusions



Modified: pypy/extradoc/talk/icooolps2009-dotnet/conclusion.tex
==============================================================================
--- pypy/extradoc/talk/icooolps2009-dotnet/conclusion.tex	(original)
+++ pypy/extradoc/talk/icooolps2009-dotnet/conclusion.tex	Fri Apr  3 18:52:35 2009
@@ -56,23 +56,15 @@
 
 \section{Conclusion and Future Work}
 
-In this paper we presented PyPy's JIT compiler generator, based on partial
-evaluation techniques, which can automatically turn an interpreter into a JIT
+In this paper we gave an overview of PyPy's JIT compiler generator,
+which can automatically turn an interpreter into a JIT
 compiler, requiring the language developers to only add few \texttt{hint}s to
 guide the generation process.
 
-We showed that classical partial evaluation cannot remove all the overhead
-proper of dynamically typed languages, and how the new operation called
-\emph{promotion} solves the problem, by delaying compile-time until the JIT
-knows enough to produce efficient code, and by continuously intermixing
-compile-time and runtime.  Moreover, we showed that our simple but still
-practically useful technique to avoid allocation of intermediate unnecessary
-objects plays well with promotion and helps to produce even better code.
-
-Finally, we presented the CLI backend for PyPy's JIT compiler generator, whose
+Then, we presented the CLI backend for PyPy's JIT compiler generator, whose
 goal is to produce .NET bytecode at runtime.  We showed how it is possible to
 circumvent intrinsic limitations of the virtual machine to implement
-promotion.  As a result, we proved that the idea of \emph{JIT layering} is
+flexswitches.  As a result, we proved that the idea of \emph{JIT layering} is
 worth of further exploration, as it makes possible for dynamically typed
 languages to be even faster than their statically typed counterpart in some
 circumstances.
@@ -83,6 +75,8 @@
 code, as tracing JITs do \cite{gal_hotpathvm_2006}.  By compilining whole
 loops at once, the backends should be able to produce better code than today.
 
+\anto{XXX: cite the pypy tracing paper}
+
 At the moment, some bugs and minor missing features prevent the CLI JIT
 backend to handle more complex languages such as Python and Smalltalk.  We are
 confident that once these problems will be fixed, we will get performance
@@ -92,3 +86,10 @@
 implementation strategies, also considering the new features that might be
 integrated into virtual machines.
 
+In particular, the \emph{Da Vinci Machine
+  Project} \footnote{http://openjdk.java.net/projects/mlvm/} is exploring and
+implementing new features to ease the implementation of dynamic languages on
+top of the JVM: some of these features, such as the new
+\emph{invokedynamic}\footnote{XXX} instruction and the \emph{tail call
+  optimization} can probably be exploited by a potential JVM backend to
+generate even more efficient code.



More information about the Pypy-commit mailing list