[pypy-svn] r79204 - pypy/extradoc/talk/pepm2011

cfbolz at codespeak.net cfbolz at codespeak.net
Wed Nov 17 18:40:55 CET 2010


Author: cfbolz
Date: Wed Nov 17 18:40:54 2010
New Revision: 79204

Modified:
   pypy/extradoc/talk/pepm2011/paper.bib
   pypy/extradoc/talk/pepm2011/paper.tex
Log:
- add two deforestation references
- squeeze code a bit to add some space


Modified: pypy/extradoc/talk/pepm2011/paper.bib
==============================================================================
--- pypy/extradoc/talk/pepm2011/paper.bib	(original)
+++ pypy/extradoc/talk/pepm2011/paper.bib	Wed Nov 17 18:40:54 2010
@@ -150,6 +150,33 @@
 	pages = {708--725}
 },
 
+ at inproceedings{wadler_deforestation:_1988,
+	address = {Amsterdam, The Netherlands, The Netherlands},
+	title = {Deforestation: transforming programs to eliminate trees},
+	location = {Nancy, France},
+	url = {http://portal.acm.org/citation.cfm?id=80098.80104},
+	booktitle = {Proceedings of the Second European Symposium on Programming},
+	publisher = {{North-Holland} Publishing Co.},
+	author = {Philip Wadler},
+	year = {1988},
+	pages = {231{\textendash}248}
+},
+
+ at inproceedings{gill_short_1993,
+	address = {New York, {NY,} {USA}},
+	series = {{FPCA} '93},
+	title = {A short cut to deforestation},
+	isbn = {{0-89791-595-X}},
+	location = {Copenhagen, Denmark},
+	url = {http://doi.acm.org/10.1145/165180.165214},
+	doi = {http://doi.acm.org/10.1145/165180.165214},
+	booktitle = {Proceedings of the conference on Functional programming languages and computer architecture},
+	publisher = {{ACM}},
+	author = {Andrew Gill and John Launchbury and Simon L Peyton Jones},
+	year = {1993},
+	pages = {223{\textendash}232}
+},
+
 @inproceedings{chang_tracing_2009,
 	address = {Washington, {DC,} {USA}},
 	title = {Tracing for Web 3.0: Trace Compilation for the Next Generation Web Applications},

Modified: pypy/extradoc/talk/pepm2011/paper.tex
==============================================================================
--- pypy/extradoc/talk/pepm2011/paper.tex	(original)
+++ pypy/extradoc/talk/pepm2011/paper.tex	Wed Nov 17 18:40:54 2010
@@ -1,4 +1,4 @@
-\documentclass[preprint]{sigplanconf}
+\documentclass{sigplanconf}
 
 \usepackage{ifthen}
 \usepackage{fancyvrb}
@@ -76,7 +76,7 @@
 \begin{document}
 \conferenceinfo{PEPM}{'11, Austin, USA}
 \CopyrightYear{2011}
-\copyrightdata{[to be supplied]}
+\copyrightdata{[to be supplied]} % XXX
 
 \title{Allocation Removal by Partial Evaluation in a Tracing JIT}
 
@@ -319,7 +319,7 @@
 Figure~\ref{fig:objmodel} (written in RPython).
 
 \begin{figure}
-\begin{lstlisting}[mathescape]
+\begin{lstlisting}[mathescape,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 class Base(object):
    pass
 
@@ -390,7 +390,7 @@
 
 
 \begin{figure}
-\begin{lstlisting}[mathescape,numbers = right]
+\begin{lstlisting}[mathescape,numbers = right,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 # arguments to the trace: $p_{0}$, $p_{1}$
 # inside f: res.add(y)
 guard_class($p_{1}$, BoxedInteger)
@@ -592,7 +592,7 @@
 
 The following operations (lines 10--17) are more interesting:
 
-\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=10]
+\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=10,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 $p_{5}$ = new(BoxedInteger)   |\setcounter{lstnumber}{11}|
 set($p_{5}$, intval, $i_{4}$) |\setcounter{lstnumber}{14}|
 $p_{6}$ = new(BoxedInteger)   |\setcounter{lstnumber}{16}|
@@ -623,7 +623,7 @@
 The subsequent operations (line 20--26) in Figure~\ref{fig:unopt-trace}, which
 use $p_{5}$ and $p_{6}$, can then be optimized using that knowledge:
 
-\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=20]
+\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=20,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 guard_class($p_{5}$, BoxedInteger)  |\setcounter{lstnumber}{21}|
 $i_{7}$ = get($p_{5}$, intval)
 guard_class($p_{6}$, BoxedInteger)  |\setcounter{lstnumber}{24}|
@@ -639,7 +639,7 @@
 replaced by $i_{4}$ and -100. The only operation copied into the optimized trace
 is the addition:
 
-\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=26]
+\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=26,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 $i_{9}$ = int_add($i_{4}$, -100)
 \end{lstlisting}
 
@@ -666,7 +666,7 @@
 because the static objects could form an arbitrary graph structure. In our
 example it is simple, though:
 
-\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=44]
+\begin{lstlisting}[mathescape,xleftmargin=20pt,numbers=right,escapechar=|, firstnumber=44,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 $p_{15}$ = new(BoxedInteger)               |\setcounter{lstnumber}{45}|
 set($p_{15}$, intval, $i_{14}$)            |\setcounter{lstnumber}{26}|
 $p_{10}$ = new(BoxedInteger)               |\setcounter{lstnumber}{28}|
@@ -692,7 +692,7 @@
 original seven.
 
 \begin{figure}
-\begin{lstlisting}[mathescape,numbers=right,escapechar=|, numberblanklines=false]
+\begin{lstlisting}[mathescape,numbers=right,escapechar=|, numberblanklines=false,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 # arguments to the trace: $p_{0}$, $p_{1}$ |\setcounter{lstnumber}{2}|
 guard_class($p_1$, BoxedInteger)           |\setcounter{lstnumber}{4}|
 $i_2$ = get($p_1$, intval)
@@ -932,7 +932,7 @@
 v^*), w^* \mapsto (T_2, u^*, u^*)\}$$ which contains two static objects. If $v^*$
 needs to be lifted, the following residual operations are produced:
 
-\begin{lstlisting}[mathescape,xleftmargin=20pt]
+\begin{lstlisting}[mathescape,xleftmargin=20pt,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 $v^*$ = new($T_1$)
 $w^*$ = new($T_2$)
 set($w^*$, $L$, $u^*$)
@@ -946,7 +946,7 @@
 If we had lifted $w^*$ instead of $v^*$, then the following operations would
 have been produced:
 
-\begin{lstlisting}[mathescape,xleftmargin=20pt]
+\begin{lstlisting}[mathescape,xleftmargin=20pt,basicstyle=\setstretch{1.1}\ttfamily\scriptsize]
 $w^*$ = new($T_2$)
 set($w^*$, $L$, $u^*$)
 set($w^*$, $R$, $u^*$)
@@ -1083,7 +1083,7 @@
 reasons, it would be very hard to separate the two effects).
 
 \begin{figure*}
-{\small
+{\footnotesize
 \begin{center}
 \begin{tabular}{|l||r|rr|rr|rr|rr|}
 \hline
@@ -1132,7 +1132,7 @@
 further optimizations.
 
 \begin{figure*}
-{\small
+{\footnotesize
 \begin{center}
 \begin{tabular}{|l||r|r||r|r||r|r||r|r|}
 \hline
@@ -1213,10 +1213,8 @@
 imperative language.
 In functional programming this idea was introduced as
  constructor specialisation by Mogensen \cite{mogensen_constructor_1993}.
-\reva{I'd refer here to
-  deforestation (by Philip Wadler) and "short cut
-  deforestation" by Andrew Gill, John Launchbury, and Simon L 
-  Peyton Jones}
+\reva{I'd refer here to \cite{wadler_deforestation:_1988}
+  and \cite{gill_short_1993}}
 \revb{cite and relate to: boxing analysis}
 
 %xxx:



More information about the Pypy-commit mailing list