[pypy-commit] extradoc extradoc: add a diagram about trace trees
antocuni
noreply at buildbot.pypy.org
Tue Jul 3 09:27:18 CEST 2012
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: extradoc
Changeset: r4260:ec5b0c6fce93
Date: 2012-07-02 19:23 +0200
http://bitbucket.org/pypy/extradoc/changeset/ec5b0c6fce93/
Log: add a diagram about trace trees
diff --git a/talk/ep2012/jit/talk/Makefile b/talk/ep2012/jit/talk/Makefile
--- a/talk/ep2012/jit/talk/Makefile
+++ b/talk/ep2012/jit/talk/Makefile
@@ -3,7 +3,7 @@
# http://bitbucket.org/antocuni/env/src/619f486c4fad/bin/inkscapeslide.py
-talk.pdf: talk.rst author.latex title.latex stylesheet.latex diagrams/tracing-phases-p0.pdf diagrams/trace-p0.pdf
+talk.pdf: talk.rst author.latex title.latex stylesheet.latex diagrams/tracing-phases-p0.pdf diagrams/trace-p0.pdf diagrams/tracetree-p0.pdf
rst2beamer.py --stylesheet=stylesheet.latex --documentoptions=14pt talk.rst talk.latex || exit
sed 's/\\date{}/\\input{author.latex}/' -i talk.latex || exit
#sed 's/\\maketitle/\\input{title.latex}/' -i talk.latex || exit
@@ -21,3 +21,6 @@
diagrams/trace-p0.pdf: diagrams/trace.svg
cd diagrams && inkscapeslide.py trace.svg
+
+diagrams/tracetree-p0.pdf: diagrams/tracetree.svg
+ cd diagrams && inkscapeslide.py tracetree.svg
diff --git a/talk/ep2012/jit/talk/diagrams/tracetree.svg b/talk/ep2012/jit/talk/diagrams/tracetree.svg
new file mode 100644
--- /dev/null
+++ b/talk/ep2012/jit/talk/diagrams/tracetree.svg
@@ -0,0 +1,429 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="868.47473"
+ height="787.14441"
+ id="svg8609"
+ version="1.1"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="tracetree.svg">
+ <defs
+ id="defs8611">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path9528"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-8"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path9528-2"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-5"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path9528-8"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-9"
+ style="overflow:visible">
+ <path
+ id="path9528-3"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-7"
+ style="overflow:visible">
+ <path
+ id="path9528-5"
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.49497475"
+ inkscape:cx="299.60564"
+ inkscape:cy="309.93394"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer12"
+ showgrid="false"
+ inkscape:snap-grids="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="748"
+ inkscape:window-x="0"
+ inkscape:window-y="1"
+ inkscape:window-maximized="1"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0" />
+ <metadata
+ id="metadata8614">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer12"
+ inkscape:label="content"
+ transform="translate(113.40737,86.55953)">
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="-575.78699"
+ y="-8.2979898"
+ id="text10437"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan10439"
+ x="-575.78699"
+ y="-8.2979898">trace</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="41.702011"
+ id="tspan10441">+loop</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="91.702011"
+ id="tspan10447">trace, guard_sign</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="141.70201"
+ id="tspan10443">+blackhole</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="191.70201"
+ id="tspan10449">+interp</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="241.70201"
+ id="tspan10453">+call_jitted</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="291.702"
+ id="tspan10706">trace, bridge</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="341.702"
+ id="tspan10708">+loop2</tspan><tspan
+ sodipodi:role="line"
+ x="-575.78699"
+ y="391.702"
+ id="tspan10710">+loop</tspan></text>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot10455"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><flowRegion
+ id="flowRegion10457"><rect
+ id="rect10459"
+ width="1351.5841"
+ height="4268.9048"
+ x="-1745.5436"
+ y="-4295.3853" /></flowRegion><flowPara
+ id="flowPara10461"></flowPara></flowRoot> </g>
+ <g
+ inkscape:label="trace"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(113.40737,86.55953)"
+ style="display:inline">
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="77.142868"
+ y="72.36219"
+ id="text8667"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan8669"
+ x="77.142868"
+ y="72.36219">ILOAD 1</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="122.36219"
+ id="tspan8671">ILOAD 2</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="172.3622"
+ id="tspan8673">GUARD ICMPLT</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="222.3622"
+ id="tspan8675">ILOAD 1</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="272.36218"
+ id="tspan8677">ICONST 2</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="322.36218"
+ id="tspan8679">IREM</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="372.36218"
+ id="tspan8681"
+ style="font-weight:bold">GUARD NE</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="422.36218"
+ id="tspan8683">ILOAD 0</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="472.36218"
+ id="tspan8685">ICONST 2</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="522.36218"
+ id="tspan8687"
+ style="font-style:normal;fill:#ff0000">IMUL</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="572.36218"
+ id="tspan8689">ISTORE 0</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="622.36218"
+ id="tspan8691">IINC 1 1</tspan><tspan
+ sodipodi:role="line"
+ x="77.142868"
+ y="672.36218"
+ id="tspan8693" /></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer15"
+ inkscape:label="guard_sign">
+ <path
+ sodipodi:type="arc"
+ style="display:inline;fill:#000000;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path10718"
+ sodipodi:cx="76.771591"
+ sodipodi:cy="441.67224"
+ sodipodi:rx="88.893425"
+ sodipodi:ry="88.893425"
+ d="m 165.66502,441.67224 a 88.893425,88.893425 0 1 1 -177.786854,0 88.893425,88.893425 0 1 1 177.786854,0 z"
+ transform="matrix(0.09481961,0,0,0.09481961,157.37541,400.80321)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer8"
+ inkscape:label="loop"
+ transform="translate(113.40737,86.55953)"
+ style="display:inline">
+ <path
+ sodipodi:type="spiral"
+ style="fill:none;stroke:#000000;stroke-width:2.9000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+ id="path8752"
+ sodipodi:cx="-260"
+ sodipodi:cy="440.93362"
+ sodipodi:expansion="16.030001"
+ sodipodi:revolution="1.7216806"
+ sodipodi:radius="520.896"
+ sodipodi:argument="-20.399523"
+ sodipodi:t0="0"
+ d="m -260,440.93362 c 0,0 0,0 0,0 10e-6,3e-5 -4e-5,4e-5 -6e-5,5e-5 -0.004,0.002 -0.008,-0.0105 -0.008,-0.0111 -0.0764,-0.23393 0.49038,-0.40945 0.58954,-0.43279 6.14814,-1.44742 9.4827,10.93629 9.99912,14.2932 13.49894,87.74831 -150.71957,130.90319 -205.86586,135.33904 -109.70841,8.82469 -220.52187,-21.65256 -319.19504,-67.68853"
+ transform="matrix(-0.24369021,0.96985313,-0.96985313,-0.24369021,353.07946,955.65355)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer9"
+ inkscape:label="blackhole"
+ transform="translate(113.40737,86.55953)"
+ style="display:inline">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+ d="M 323.24881,365.45845 438.4062,436.16913"
+ id="path10175"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <g
+ id="g10369"
+ transform="translate(278.8021,-286.88332)">
+ <path
+ transform="matrix(1.7465726,0,0,1.7465726,-107.29698,-511.38631)"
+ d="m 230.31477,775.58038 c 1.63425,1.78624 -1.60153,3.0842 -2.96884,2.71623 -3.70533,-0.99719 -4.09392,-5.81728 -2.4636,-8.65391 2.91626,-5.07409 9.91691,-5.37261 14.33897,-2.21098 6.48956,4.63982 6.69208,14.0732 1.95836,20.02404 -6.30931,7.93153 -18.24975,8.0291 -25.70911,1.70573 -9.38683,-7.9573 -9.37522,-22.43598 -1.45311,-31.39417 9.59475,-10.84957 26.62767,-10.72664 37.07924,-1.20049 12.31681,11.22624 12.08138,30.82276 0.94787,42.7643 -12.85408,13.78699 -35.02013,13.43833 -48.44937,0.69525 -15.25915,-14.4795 -14.79682,-39.21909 -0.44262,-54.13443 16.10323,-16.73276 43.41922,-16.15644 59.8195,-0.19001 18.20741,17.72577 17.51689,47.62023 -0.0626,65.50457 -19.3474,19.68287 -51.82191,18.878 -71.18964,-0.31524 -21.15895,-20.96834 -20.2396,-56.02412 0.56787,-76.8747 22.58874,-22.63553 60.22676,-21.60162 82.55976,0.82049 24.1125,24.2087 22.96396,64.42975 -1.07311,88.24482 -25.82833,25.5898 -68.63302,24.32658 -93.92989,-1.32573 -27.06735,-27.44766 -25.68941,-72.83653 1.57835,-99.61495 29.06676,-28.54514 77.04025,-27.05244 105.30003,1.83097 30.02311,30.68566 28.41561,81.24414 -2.0836,110.98509 -32.30439,31.50125 -85.44818,29.77893 -116.67016,-2.33622 -32.97952,-33.92297 -31.14236,-89.65234 2.58884,-122.35522 35.54144,-34.45792 93.85662,-32.50591 128.04029,2.84146 35.93642,37.15978 33.86954,98.06099 -3.09408,133.72535"
+ sodipodi:t0="0"
+ sodipodi:argument="-11.736566"
+ sodipodi:radius="96.573967"
+ sodipodi:revolution="6"
+ sodipodi:expansion="1"
+ sodipodi:cy="775.58038"
+ sodipodi:cx="230.31477"
+ id="path10365"
+ style="fill:#000000;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ sodipodi:type="spiral" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text10361"
+ y="852.35205"
+ x="159.60408"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
+ xml:space="preserve"><tspan
+ style="font-weight:bold;fill:#ffffff"
+ y="852.35205"
+ x="159.60408"
+ id="tspan10363"
+ sodipodi:role="line">BLACKHOLE</tspan></text>
+ </g>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer10"
+ inkscape:label="interp"
+ transform="translate(113.40737,86.55953)"
+ style="display:inline">
+ <g
+ id="g10380"
+ transform="translate(379.81735,-808.12203)">
+ <rect
+ y="723.05243"
+ x="56.568542"
+ height="72.73098"
+ width="317.1879"
+ id="rect10378"
+ style="fill:#ffffff;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text10374"
+ y="769.51947"
+ x="78.791901"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ xml:space="preserve"><tspan
+ y="769.51947"
+ x="78.791901"
+ id="tspan10376"
+ sodipodi:role="line">INTERPRETER</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+ d="M 599.02046,382.63105 603.06107,10.894926"
+ id="path10175-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer11"
+ inkscape:label="call_jitted"
+ transform="translate(113.40737,86.55953)"
+ style="display:inline">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+ d="M 421.23362,-53.75485 170.71579,20.99644"
+ id="path10175-4"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer13"
+ inkscape:label="bridge">
+ <text
+ transform="translate(113.40737,86.55953)"
+ xml:space="preserve"
+ style="display:inline;font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="435.2373"
+ y="498.73428"
+ id="text8667-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="435.2373"
+ y="498.73428"
+ id="tspan8685-3"
+ style="fill:#ff0000">IINC 0 1</tspan><tspan
+ sodipodi:role="line"
+ x="435.2373"
+ y="548.73425"
+ id="tspan10599">IINC 1 1</tspan><tspan
+ sodipodi:role="line"
+ x="435.2373"
+ y="598.73425"
+ id="tspan8693-7" /></text>
+ <path
+ transform="translate(113.40737,86.55953)"
+ style="display:inline;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+ d="m 320.95822,372.2853 105.05587,82.83251"
+ id="path10175-4-0"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer14"
+ inkscape:label="loop2">
+ <path
+ sodipodi:type="spiral"
+ style="display:inline;fill:none;stroke:#000000;stroke-width:2.90000010000000019;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
+ id="path8752-5"
+ sodipodi:cx="-260"
+ sodipodi:cy="440.93362"
+ sodipodi:expansion="16.030001"
+ sodipodi:revolution="1.7413623"
+ sodipodi:radius="625.0058"
+ sodipodi:argument="-20.399523"
+ sodipodi:t0="0"
+ d="m -260,440.93362 c 0,0 0,0 0,0 10e-6,3e-5 -4e-5,4e-5 -6e-5,5e-5 -0.004,0.002 -0.008,-0.0105 -0.008,-0.0111 -0.0764,-0.23393 0.49038,-0.40945 0.58954,-0.43279 6.14814,-1.44742 9.4827,10.93629 9.99912,14.2932 13.49894,87.74834 -150.71961,130.90324 -205.86592,135.33908 -151.64122,12.19767 -303.62277,-48.49023 -429.37058,-128.29047"
+ transform="matrix(0.50107467,0.86540407,0.86540407,-0.50107467,454.24435,1100.5389)" />
+ </g>
+</svg>
diff --git a/talk/ep2012/jit/talk/talk.rst b/talk/ep2012/jit/talk/talk.rst
--- a/talk/ep2012/jit/talk/talk.rst
+++ b/talk/ep2012/jit/talk/talk.rst
@@ -223,3 +223,36 @@
.. animage:: diagrams/trace-p*.pdf
:align: center
:scale: 80%
+
+
+Trace trees (1)
+---------------
+
+|scriptsize|
+|example<| |small| tracetree.java |end_small| |>|
+
+.. sourcecode:: java
+
+ public static void trace_trees() {
+ int a = 0;
+ int i = 0;
+ int N = 100;
+
+ while(i < N) {
+ if (i%2 == 0)
+ a++;
+ else
+ a*=2;
+ i++;
+ }
+ }
+
+|end_example|
+|end_scriptsize|
+
+Trace trees (2)
+---------------
+
+.. animage:: diagrams/tracetree-p*.pdf
+ :align: center
+ :scale: 34%
More information about the pypy-commit
mailing list