[pypy-svn] r60677 - pypy/extradoc/talk/ecoop2009
davide at codespeak.net
davide at codespeak.net
Sun Dec 21 11:45:59 CET 2008
Author: davide
Date: Sun Dec 21 11:45:58 2008
New Revision: 60677
Modified:
pypy/extradoc/talk/ecoop2009/intro.tex
pypy/extradoc/talk/ecoop2009/main.tex
Log:
first submission
Modified: pypy/extradoc/talk/ecoop2009/intro.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/intro.tex (original)
+++ pypy/extradoc/talk/ecoop2009/intro.tex Sun Dec 21 11:45:58 2008
@@ -1,7 +1,4 @@
\section{Introduction}
-
-Dynamic languages are increasingly popular etc. etc.
-
The easiest way to implement a dynamic language such as Python is to write an
interpreter; however, interpreters are slow.
@@ -16,16 +13,16 @@
enormous effort.
PyPy's approach \cite{RiBo07_223} is to automatize the generation of JIT compilers in order
-to reduce to a minimum the effort required to get a fast implementation of a
-dynamic language; all you have to do is to write a high level specification of
-the language (by writing an interpreter), and putting it through PyPy's
-translation toolchain. The automatic generation of JIT compilers is done with
-the help of partial evaluation techniques.
-
-Instead of emitting code for a real CPU, the generated JIT compilers described
-in this paper emit code for a virtual machine: before being executed, the
-emitted code will be compiled again by .NET's own JIT compiler, thus having
-two \emph{layers} of JIT compilation.
+to minimize the effort required to get a fast implementation of a
+dynamic language; automatic generation of JIT compilers is done with
+the help of partial evaluation techniques and requires the user only
+to provide an interpreter with some manual annotations which hint
+the generator how interpretation and JIT compilation has to be interleaved.
+
+More precisely, in this paper we focus on the ability of generating a JIT compiler able to emit code
+for the .NET virtual machine. To our knowledge, this is the first experiment with an interpreter with
+two \emph{layers} of JIT compilation, since, before being executed, the
+emitted code is eventually compiled again by .NET's own JIT compiler.
The contributions of this paper are twofold: (1) \emph{promotion} is a
generalization of polymorphic inline caches that make partial evaluation
Modified: pypy/extradoc/talk/ecoop2009/main.tex
==============================================================================
--- pypy/extradoc/talk/ecoop2009/main.tex (original)
+++ pypy/extradoc/talk/ecoop2009/main.tex Sun Dec 21 11:45:58 2008
@@ -5,7 +5,7 @@
%\textwidth=130mm % LNCS: 122mm
%\textheight=203mm % LNCS: 193mm
-%\renewcommand{\baselinestretch}{0.95}
+\renewcommand{\baselinestretch}{0.97}
\usepackage{amssymb}
\usepackage{amsmath}
@@ -37,7 +37,7 @@
%\renewcommand{\baselinestretch}{.98}
\newboolean{showcomments}
-\setboolean{showcomments}{true}
+\setboolean{showcomments}{false}
\ifthenelse{\boolean{showcomments}}
{\newcommand{\nb}[2]{
\fbox{\bfseries\sffamily\scriptsize#1}
More information about the Pypy-commit
mailing list