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

antocuni at codespeak.net antocuni at codespeak.net
Mon Apr 6 11:45:38 CEST 2009


Author: antocuni
Date: Mon Apr  6 11:45:38 2009
New Revision: 63709

Modified:
   pypy/extradoc/talk/icooolps2009-dotnet/benchmarks.tex
   pypy/extradoc/talk/icooolps2009-dotnet/clibackend.tex
Log:
fix another XXX, and some other small fixes



Modified: pypy/extradoc/talk/icooolps2009-dotnet/benchmarks.tex
==============================================================================
--- pypy/extradoc/talk/icooolps2009-dotnet/benchmarks.tex	(original)
+++ pypy/extradoc/talk/icooolps2009-dotnet/benchmarks.tex	Mon Apr  6 11:45:38 2009
@@ -2,7 +2,7 @@
 \label{sec:benchmarks}
 
 To measure the performances of the CLI JIT backend, we wrote a simple virtual
-machine for a dynamic toy languaged, called \emph{TLC}.
+machine for a dynamic toy language, called \emph{TLC}.
 
 The design goal of the language is to be very simple (the interpreter of the
 full language consists of about 600 lines of RPython code) but to still have
@@ -68,13 +68,12 @@
 multiplication, one subtraction, and one comparison to check if we have
 finished the job.
 
-\anto{XXX: explain which temp objects are created}
 When doing plain interpretation, we need to create and destroy three temporary
-objects at each iteration.  By contrast, the code generated by the JIT does
+objects (the results of each operation) at each iteration.  By contrast, the code generated by the JIT does
 much better.  At the first iteration, the classes of the two operands of the
-multiplication are promoted; then, the JIT compiler knows that both are
-integers, so it can inline the code to compute the result.  Moreover, it can
-\emph{virtualize} (see Section \ref{sec:virtuals}) all the temporary objects, because they never escape from
+multiplication go through a flexswitch; then, the JIT compiler knows that both are
+integers, so it can inline the code to compute the result.  Moreover, thanks to escape analysis,
+it can remove the allocation of all the temporary objects, because they never escape from
 the inner loop.  The same remarks apply to the other two operations inside
 the loop.
 

Modified: pypy/extradoc/talk/icooolps2009-dotnet/clibackend.tex
==============================================================================
--- pypy/extradoc/talk/icooolps2009-dotnet/clibackend.tex	(original)
+++ pypy/extradoc/talk/icooolps2009-dotnet/clibackend.tex	Mon Apr  6 11:45:38 2009
@@ -76,8 +76,7 @@
 
 Unfortunately, the CLI VM does not allow modification of code which
 has been already loaded and linked, therefore the simplest approach
-taken for low level architectures does not work for higher level 
-virtual machines as those for .NET and Java.
+taken for low level architectures does not work.
 
 Since in .NET methods are the basic units of compilation, a possible
 solution consists in creating a new method 



More information about the Pypy-commit mailing list