[pypy-commit] extradoc extradoc: merged upstream.
alex_gaynor
noreply at buildbot.pypy.org
Sun Jul 31 00:29:38 CEST 2011
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: extradoc
Changeset: r3851:8d612fff616c
Date: 2011-07-30 15:29 -0700
http://bitbucket.org/pypy/extradoc/changeset/8d612fff616c/
Log: merged upstream.
diff --git a/blog/draft/success_stories.rst b/blog/draft/success_stories.rst
new file mode 100644
--- /dev/null
+++ b/blog/draft/success_stories.rst
@@ -0,0 +1,53 @@
+PyPy success stories
+====================
+
+Regular readers of this blog know the great progresses that PyPy achieved in
+the past few years in terms of speed_, stability, and adoption.
+
+All of this has been made possibile thanks to the help of the Open Source
+community, but also thanks to the German and Swedish governments, which
+funded us through the `Eurostars programme`_. This let some of us
+core developers work full time on PyPy for the past two years.
+
+Our participation to Eurostars is ending in August, and at the moment we are
+exploring several different ways of funding PyPy through other sources. We
+will write more about that in the next days. During this process, it is
+important to show that PyPy has stopped being "just" a research project, but
+that it is also a robust and solid solution for industry.
+
+We would like to write a list of "PyPy success stories", and thus we ask
+for your help:
+
+ - if you are already using PyPy in production;
+
+ - if you are actively testing PyPy on your codebase;
+
+ - or even if you are simply considering switching to PyPy and experimenting with it;
+
+in those cases, please let us know about it. We would like to know which
+company you work for, what are you using PyPy for, and why you decided to
+switch to it. Ideally, we would like the permission to publish this
+information and share it with the public.
+
+If for any reason you cannot or do not want to make this public, we are still
+interested in hearing about you. In that case, don't hesitate to contact us
+privately - we will not publish your data. But we have potential sponsors
+who are intersted in supporting PyPy, and showing them a list of companies
+that are using PyPy (+ 3 anonymous ones in the financial services sector) is
+almost as good as showing them a list with all the company names filled in.
+What they are looking for is evidence that PyPy is not a research toy, but
+of actual use to industry.
+
+Please take the time to respond either as a comment to this blog post
+directly, or byt sending email to the `pypy-dev`_ mailing list or by
+writing a private email to me (`Antonio Cuni`_) or `Laura Creighton`_.
+
+We hope to hear about lots of PyPy success stories. Remind that the more of
+them we collect, the easier for us to find sponsors to fund further
+development of PyPy! And, of course, if any of you are interested in
+_becoming_ one of these sponsors, we would like to hear about that, as well.
+
+Thanks very much (in advance) for all your help,
+Laura and Anto (for the entire PyPy team)
+
+_`Eurostars programme` : http://www.eurostars-eureka.eu/
diff --git a/planning/jit.txt b/planning/jit.txt
--- a/planning/jit.txt
+++ b/planning/jit.txt
@@ -164,3 +164,31 @@
at the end of the preamble unnessesary. If that policy wont hold
in the long run it should be straight forward to augument the
VirtualState objects with information about storesinking.
+
+
+Random ideas from hakanardo
+----------------------------
+
+ - Let bridges inherit more information form their parent traces to allow
+ them to be better optimized. One idea is to augument the resumedata with
+ the index within the trace inputargs for each failarg that comes directly
+ from the inputargs. That way a lot of info can be deduced from the short
+ preamble. Another idea is to actually store a lot of status information on
+ the guards as they are generated, but then forget (and free) that info as
+ the guards grow older (in terms of the number of generated guards or
+ something).
+
+ - Generalisation strategies. Once jit-short_from_state is merged we'll have
+ a nice platform to experiment with generalizing the loops created. Today
+ unrolling makes the jit specialize as much as possible which is one reason
+ it's hard for bridges to reuse the created peeled loops. There is also a
+ tradeoff between forcing things to be able to reuse an existing loop and
+ retracing it to form a new specialized version.
+
+ - Better pointer aliasing analyzer that will emit guards that pointers are
+ different when needed.
+
+ - Make heap optimizer aware of setitems produced by forcing virtuals.
+
+ - Movinging loop-invariant setitems out of the loops entierly.
+
diff --git a/talk/icooolps2011/talk/figures/map.svg b/talk/icooolps2011/talk/figures/map.svg
--- a/talk/icooolps2011/talk/figures/map.svg
+++ b/talk/icooolps2011/talk/figures/map.svg
@@ -49,7 +49,40 @@
id="path8552"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
- transform="scale(0.8) translate(12.5,0)" /></marker></defs><sodipodi:namedview
+ transform="scale(0.8) translate(12.5,0)" /></marker><marker
+ inkscape:stockid="Arrow2Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lstart-9"
+ style="overflow:visible"><path
+ inkscape:connector-curvature="0"
+ id="path8570-9"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(1.1,0,0,1.1,1.1,0)" /></marker><marker
+ inkscape:stockid="Arrow2Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3072"
+ style="overflow:visible"><path
+ inkscape:connector-curvature="0"
+ id="path3074"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(1.1,0,0,1.1,1.1,0)" /></marker><marker
+ inkscape:stockid="Arrow2Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3076"
+ style="overflow:visible"><path
+ inkscape:connector-curvature="0"
+ id="path3078"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(1.1,0,0,1.1,1.1,0)" /></marker></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
@@ -58,17 +91,17 @@
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
- inkscape:window-width="1680"
- inkscape:window-height="1026"
+ inkscape:window-width="1280"
+ inkscape:window-height="776"
id="namedview7589"
showgrid="false"
inkscape:zoom="1.3953574"
- inkscape:cx="271.26815"
+ inkscape:cx="180.9687"
inkscape:cy="130.03147"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1"
- inkscape:current-layer="g7595" /><g
+ inkscape:current-layer="layer1" /><g
id="g7595"
inkscape:groupmode="layer"
inkscape:label="map"
@@ -76,10 +109,11 @@
style="display:inline"><path
inkscape:connector-curvature="0"
id="path7599"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 137,5.5 54,0 0,27 -54,0 0,-27 z" /><g
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 137.00001,5.5000016 54,0 0,27.0000004 -54,0 0,-27.0000004 z" /><g
+ style="display:inline"
id="g7601"
- transform="translate(-1.6,0)"><text
+ transform="translate(-1.5999963,1.55e-6)"><text
id="text7603"
transform="matrix(1,0,0,-1,150,15.9)"><tspan
id="tspan7605"
@@ -90,8 +124,10 @@
</g><path
inkscape:connector-curvature="0"
id="path7607"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 41,89.5 94,0 0,27 -94,0 0,-27 z" /><g
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 41.000003,89.500002 94.000007,0 0,26.999998 -94.000007,0 0,-26.999998 z" /><g
+ transform="translate(3.6875e-6,1.55e-6)"
+ style="display:inline"
id="g7609"><text
id="text7611"
transform="matrix(1,0,0,-1,49,99.9)"><tspan
@@ -103,8 +139,10 @@
</g><path
inkscape:connector-curvature="0"
id="path7615"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 85,89.5 0,27" /><g
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 85.000004,89.500002 0,26.999998" /><g
+ transform="translate(3.6875e-6,1.55e-6)"
+ style="display:inline"
id="g7617"><text
id="text7619"
transform="matrix(1,0,0,-1,93,99.9)"><tspan
@@ -116,11 +154,12 @@
</g><path
inkscape:connector-curvature="0"
id="path7623"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Lstart)"
- d="M 61.666923,88.403288 C 61.377172,34.917749 138.99637,51.116903 147.27,32.7199"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Lstart);display:inline"
+ d="m 61.666926,88.403292 c -0.28975,-53.48554 77.329454,-37.28639 85.603084,-55.68339"
sodipodi:nodetypes="cc" /><g
+ style="display:inline"
id="g7629"
- transform="translate(-46.4,0)"><text
+ transform="translate(-46.399996,1.55e-6)"><text
id="text7631"
transform="matrix(1,0,0,-1,128,57.9)"
sodipodi:linespacing="125%"
@@ -132,9 +171,76 @@
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">add "a"</tspan></text>
</g><path
inkscape:connector-curvature="0"
+ id="path7659"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Lstart);display:inline"
+ d="m 88.000004,172.5777 c 0,-15.04 0,-43.4477 0,-55.9677"
+ sodipodi:nodetypes="cc" /><g
+ style="display:inline"
+ id="g7665"
+ transform="translate(-54.179668,-2.2933184)"><text
+ id="text7667"
+ transform="matrix(1,0,0,-1,88,141.9)"><tspan
+ id="tspan7669"
+ sodipodi:role="line"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">add "b"</tspan></text>
+</g><path
+ inkscape:connector-curvature="0"
+ id="path7671"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 152.50001,89.500002 93,0 0,26.999998 -93,0 0,-26.999998 z" /><g
+ transform="translate(3.6875e-6,1.55e-6)"
+ style="display:inline"
+ id="g7673"><text
+ id="text7675"
+ transform="matrix(1,0,0,-1,160.5,99.9)"><tspan
+ id="tspan7677"
+ sodipodi:role="line"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">map</tspan></text>
+</g><path
+ inkscape:connector-curvature="0"
+ id="path7679"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 196.50001,89.500002 0,26.999998" /><g
+ transform="translate(3.6875e-6,1.55e-6)"
+ style="display:inline"
+ id="g7681"><text
+ id="text7683"
+ transform="matrix(1,0,0,-1,204.5,99.9)"><tspan
+ id="tspan7685"
+ sodipodi:role="line"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">"c": 0</tspan></text>
+</g><path
+ inkscape:connector-curvature="0"
+ id="path7687"
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Lstart);display:inline"
+ d="m 175.60009,87.896522 c 0.55996,-17.18675 -0.61008,-42.52662 -5.93008,-55.28632"
+ sodipodi:nodetypes="cc" /><g
+ transform="translate(3.6875e-6,1.55e-6)"
+ style="display:inline"
+ id="g7693"><text
+ id="text7695"
+ transform="matrix(1,0,0,-1,185,57.9)"><tspan
+ id="tspan7697"
+ sodipodi:role="line"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">add "c"</tspan></text>
+</g></g><g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="othermaps"><path
+ inkscape:connector-curvature="0"
id="path7635"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 16,173.5 144,0 0,27 -144,0 0,-27 z" /><g
+ style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 20,120.625 180,0 0,-33.75 -180,0 0,33.75 z" /><g
+ transform="matrix(1.25,0,0,-1.25,0,337.5)"
+ style="display:inline"
id="g7637"><text
id="text7639"
transform="matrix(1,0,0,-1,24,183.9)"><tspan
@@ -146,10 +252,11 @@
</g><path
inkscape:connector-curvature="0"
id="path7643"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 60,173.5 0,27" /><g
+ style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 75,120.625 0,-33.75" /><g
+ style="display:inline"
id="g7645"
- transform="translate(-2.4324331,0)"><text
+ transform="matrix(1.25,0,0,-1.25,-3.040541,337.5)"><text
id="text7647"
transform="matrix(1,0,0,-1,68,183.9)"><tspan
id="tspan7649"
@@ -160,10 +267,11 @@
</g><path
inkscape:connector-curvature="0"
id="path7651"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 110,173.5 0,27" /><g
+ style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;display:inline"
+ d="m 137.5,120.625 0,-33.75" /><g
+ style="display:inline"
id="g7653"
- transform="translate(-1.8243247,0)"><text
+ transform="matrix(1.25,0,0,-1.25,-2.280406,337.5)"><text
id="text7655"
transform="matrix(1,0,0,-1,118,183.9)"><tspan
id="tspan7657"
@@ -171,61 +279,6 @@
style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
y="0"
x="0">"b": 1</tspan></text>
-</g><path
- inkscape:connector-curvature="0"
- id="path7659"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Lstart)"
- d="m 88,172.5777 c 0,-15.04 0,-43.4477 0,-55.9677"
- sodipodi:nodetypes="cc" /><g
- id="g7665"
- transform="translate(-54.179668,-2.2933193)"><text
- id="text7667"
- transform="matrix(1,0,0,-1,88,141.9)"><tspan
- id="tspan7669"
- sodipodi:role="line"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">add "b"</tspan></text>
-</g><path
- inkscape:connector-curvature="0"
- id="path7671"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 152.5,89.5 93,0 0,27 -93,0 0,-27 z" /><g
- id="g7673"><text
- id="text7675"
- transform="matrix(1,0,0,-1,160.5,99.9)"><tspan
- id="tspan7677"
- sodipodi:role="line"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">map</tspan></text>
-</g><path
- inkscape:connector-curvature="0"
- id="path7679"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
- d="m 196.5,89.5 0,27" /><g
- id="g7681"><text
- id="text7683"
- transform="matrix(1,0,0,-1,204.5,99.9)"><tspan
- id="tspan7685"
- sodipodi:role="line"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">"c": 0</tspan></text>
-</g><path
- inkscape:connector-curvature="0"
- id="path7687"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Lstart)"
- d="M 175.60008,87.896518 C 176.16004,70.709763 174.99,45.3699 169.67,32.6102"
- sodipodi:nodetypes="cc" /><g
- id="g7693"><text
- id="text7695"
- transform="matrix(1,0,0,-1,185,57.9)"><tspan
- id="tspan7697"
- sodipodi:role="line"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">add "c"</tspan></text>
</g></g><g
inkscape:groupmode="layer"
id="layer7"
@@ -237,15 +290,16 @@
d="m 4.375,38.125 216.25,0 0,-33.75 -216.25,0 0,33.75 z" /><g
transform="matrix(1.25,0,0,-1.25,0,337.5)"
id="g7701"><text
- id="text7703"
- transform="scale(1,-1)"
- x="8.2999992"
- y="-249.89999"><tspan
- id="tspan7705"
- sodipodi:role="line"
- y="-249.89999"
- x="8.2999992"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">instance</tspan></text>
+ id="text7703"
+ transform="scale(1,-1)"
+ x="8.2999992"
+ y="-249.89999"><tspan
+ id="tspan7705"
+ sodipodi:role="line"
+ y="-249.89999"
+ x="8.2999992"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">instance</tspan></text>
+
</g><path
inkscape:connector-curvature="0"
id="path7707"
@@ -253,13 +307,14 @@
d="m 88.125,38.125 0,-33.75" /><g
transform="matrix(1.25,0,0,-1.25,0,337.5)"
id="g7709"><text
- id="text7711"
- transform="matrix(1,0,0,-1,78.5,249.9)"><tspan
- id="tspan7713"
- sodipodi:role="line"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">map</tspan></text>
+ id="text7711"
+ transform="matrix(1,0,0,-1,78.5,249.9)"><tspan
+ id="tspan7713"
+ sodipodi:role="line"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">map</tspan></text>
+
</g><path
inkscape:connector-curvature="0"
id="path7715"
@@ -267,13 +322,14 @@
d="m 143.125,38.125 0,-33.75" /><g
transform="matrix(1.25,0,0,-1.25,-4,337.5)"
id="g7717"><text
- id="text7719"
- transform="matrix(1,0,0,-1,122.5,249.9)"><tspan
- id="tspan7721"
- sodipodi:role="line"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">storage</tspan></text>
+ id="text7719"
+ transform="matrix(1,0,0,-1,122.5,249.9)"><tspan
+ id="tspan7721"
+ sodipodi:role="line"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">storage</tspan></text>
+
</g><path
inkscape:connector-curvature="0"
id="path7723"
@@ -291,13 +347,14 @@
d="m 221.875,120.625 118.75,0 0,-33.75 -118.75,0 0,33.75 z" /><g
transform="matrix(1.25,0,0,-1.25,-2,337.5)"
id="g7731"><text
- id="text7733"
- transform="matrix(1,0,0,-1,185.5,183.9)"><tspan
- id="tspan7735"
- sodipodi:role="line"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">array</tspan></text>
+ id="text7733"
+ transform="matrix(1,0,0,-1,185.5,183.9)"><tspan
+ id="tspan7735"
+ sodipodi:role="line"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">array</tspan></text>
+
</g><path
inkscape:connector-curvature="0"
id="path7737"
@@ -305,12 +362,13 @@
d="m 280.625,120.625 0,-33.75" /><g
transform="matrix(1.25,0,0,-1.25,0,337.5)"
id="g7739"><text
- id="text7741"
- transform="matrix(1,0,0,-1,232.5,183.9)"><tspan
- id="tspan7743"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">4</tspan></text>
+ id="text7741"
+ transform="matrix(1,0,0,-1,232.5,183.9)"><tspan
+ id="tspan7743"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">4</tspan></text>
+
</g><path
inkscape:connector-curvature="0"
id="path7745"
@@ -318,10 +376,11 @@
d="m 310.625,120.625 0,-33.75" /><g
transform="matrix(1.25,0,0,-1.25,0,337.5)"
id="g7747"><text
- id="text7749"
- transform="matrix(1,0,0,-1,256.5,183.9)"><tspan
- id="tspan7751"
- y="0"
- x="0"
- style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">6</tspan></text>
+ id="text7749"
+ transform="matrix(1,0,0,-1,256.5,183.9)"><tspan
+ id="tspan7751"
+ y="0"
+ x="0"
+ style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans">6</tspan></text>
+
</g></g></svg>
\ No newline at end of file
diff --git a/talk/icooolps2011/talk/figures/map01.pdf b/talk/icooolps2011/talk/figures/map01.pdf
index d957a75d52a1e205b35f2139afe40e260bcaa5f7..b02a6212807255e3be3a63808946c1f87b32a64a
GIT binary patch
[cut]
diff --git a/talk/icooolps2011/talk/figures/map02.pdf b/talk/icooolps2011/talk/figures/map02.pdf
index c8f07cffbd5017707537c5fb18bf7a822384016f..8f23b0fb78a661be86adf7790844570eed590ef5
GIT binary patch
[cut]
diff --git a/talk/icooolps2011/talk/figures/map03.pdf b/talk/icooolps2011/talk/figures/map03.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..e9944db6caa3a34e1852cfb8934df628bf64d089
GIT binary patch
[cut]
diff --git a/talk/icooolps2011/talk/talk.pdf b/talk/icooolps2011/talk/talk.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..66d79ac74735959368d77448b8d8606105e447f1
GIT binary patch
[cut]
diff --git a/talk/icooolps2011/talk/talk.tex b/talk/icooolps2011/talk/talk.tex
--- a/talk/icooolps2011/talk/talk.tex
+++ b/talk/icooolps2011/talk/talk.tex
@@ -107,12 +107,12 @@
\end{frame}
\begin{frame}
- \frametitle{A Tracing JIT}
+ \frametitle{An Interpreter}
\includegraphics[scale=0.5]{figures/trace01.pdf}
\end{frame}
\begin{frame}
- \frametitle{An Interpreter}
+ \frametitle{A Tracing JIT}
\includegraphics[scale=0.5]{figures/trace02.pdf}
\end{frame}
@@ -149,6 +149,7 @@
\begin{frame}
\frametitle{Example: Attribute Reads in Python}
What happens when an attribute \texttt{x.m} is read? (simplified)
+ \pause
\begin{itemize}
\item check for \texttt{x.\_\_getattribute\_\_}, if there, call it
\pause
@@ -180,7 +181,7 @@
\frametitle{Meta-Tracing JITs}
\begin{block}{Advantages:}
\begin{itemize}
- \item semantics is always like that of the interpreter
+ \item semantics are always like that of the interpreter
\item trace fully contains language semantics
\item meta-tracers can be reused for various interpreters
\end{itemize}
@@ -240,12 +241,17 @@
\begin{frame}
\frametitle{Example: Instances with Maps}
- \includegraphics[scale=0.5]{figures/map01.pdf}
+ \includegraphics[scale=0.7]{figures/map01.pdf}
\end{frame}
\begin{frame}
\frametitle{Example: Instances with Maps}
- \includegraphics[scale=0.5]{figures/map02.pdf}
+ \includegraphics[scale=0.7]{figures/map02.pdf}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Example: Instances with Maps}
+ \includegraphics[scale=0.7]{figures/map03.pdf}
\end{frame}
\begin{frame}[containsverbatim]
@@ -286,7 +292,7 @@
\end{frame}
\begin{frame}[plain,containsverbatim]
-\frametitle{Trace for code \texttt{inst.a + inst.b}}
+\frametitle{Trace for Code \texttt{inst.a + inst.b}}
\begin{lstlisting}[mathescape,escapechar=|,basicstyle=\ttfamily]]
# $inst_1$.getfield("a")
$map_1$ = $inst_1$.map
@@ -393,7 +399,6 @@
\PY{k}{def} \PY{n+nf}{getindex}\PY{p}{(}\PY{n+nb+bp}{self}\PY{p}{,} \PY{n}{name}\PY{p}{)}\PY{p}{:}
\PY{k}{return} \PY{n+nb+bp}{self}\PY{o}{.}\PY{n}{indexes}\PY{o}{.}\PY{n}{get}\PY{p}{(}\PY{n}{name}\PY{p}{,} \PY{o}{-}\PY{l+m+mi}{1}\PY{p}{)}
- \PY{n+nd}{@elidable}
\PY{k}{def} \PY{n+nf}{add\PYZus{}attribute}\PY{p}{(}\PY{n+nb+bp}{self}\PY{p}{,} \PY{n}{name}\PY{p}{)}\PY{p}{:}
\PY{o}{.}\PY{o}{.}\PY{o}{.}
More information about the pypy-commit
mailing list