Author: Antonio Cuni <[email protected]> Branch: extradoc Changeset: r4284:6489edf6a716 Date: 2012-07-04 01:40 +0200 http://bitbucket.org/pypy/extradoc/changeset/6489edf6a716/
Log: add an architecture diagram 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 diagrams/tracetree-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 diagrams/architecture-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 @@ -24,3 +24,6 @@ diagrams/tracetree-p0.pdf: diagrams/tracetree.svg cd diagrams && inkscapeslide.py tracetree.svg + +diagrams/architecture-p0.pdf: diagrams/architecture.svg + cd diagrams && inkscapeslide.py architecture.svg diff --git a/talk/ep2012/jit/talk/diagrams/architecture.svg b/talk/ep2012/jit/talk/diagrams/architecture.svg new file mode 100644 --- /dev/null +++ b/talk/ep2012/jit/talk/diagrams/architecture.svg @@ -0,0 +1,692 @@ +<?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="1685.75" + height="949.56055" + id="svg3076" + version="1.1" + inkscape:version="0.48.2 r9819" + sodipodi:docname="architecture.svg"> + <defs + id="defs3078"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible"> + <path + id="path4380" + 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="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible"> + <path + id="path4374" + 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)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible"> + <path + id="path4356" + 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="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3" + style="overflow:visible"> + <path + inkscape:connector-curvature="0" + id="path4380-3" + 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="scale(-0.6,-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-4" + style="overflow:visible"> + <path + id="path4380-1" + 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="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-2" + style="overflow:visible"> + <path + id="path4380-15" + 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="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8" + style="overflow:visible"> + <path + id="path4380-34" + 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="scale(-0.6,-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-22" + style="overflow:visible"> + <path + id="path4380-2" + 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="scale(-0.6,-0.6)" + 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.35355339" + inkscape:cx="1143.7277" + inkscape:cy="300.08853" + inkscape:document-units="px" + inkscape:current-layer="layer6" + showgrid="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="metadata3081"> + <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="layer4" + inkscape:label="content" + transform="translate(48.09375,-13.439453)"> + <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="1877.4071" + y="21.292315" + id="text5315" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5317" + x="1877.4071" + y="21.292315">rpython</tspan><tspan + sodipodi:role="line" + x="1877.4071" + y="71.292313" + id="tspan5319">+codewriter</tspan><tspan + sodipodi:role="line" + x="1877.4071" + y="121.29231" + id="tspan5321">+jitcode</tspan><tspan + sodipodi:role="line" + x="1877.4071" + y="171.29231" + id="tspan5710">+timeline</tspan><tspan + sodipodi:role="line" + x="1877.4071" + y="221.29231" + id="tspan5712">+metatracer</tspan><tspan + sodipodi:role="line" + x="1877.4071" + y="271.29233" + id="tspan5714">+optimizer</tspan><tspan + sodipodi:role="line" + x="1877.4071" + y="321.29233" + id="tspan5716">+backend</tspan><tspan + sodipodi:role="line" + x="1877.4071" + y="371.29233" + id="tspan5720">+jitted</tspan></text> + </g> + <g + inkscape:label="rpython" + inkscape:groupmode="layer" + id="layer1" + transform="translate(584.875,133.32532)"> + <g + id="g5340" + transform="translate(0,56.011525)"> + <g + id="g5323"> + <g + id="g3908" + transform="translate(-622,-168.57143)"> + <text + sodipodi:linespacing="125%" + id="text3084" + y="246.54382" + x="106.92159" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="246.54382" + x="106.92159" + id="tspan3086" + sodipodi:role="line">def LOAD_GLOBAL(self):</tspan><tspan + id="tspan3088" + y="276.54382" + x="106.92159" + sodipodi:role="line"> ...</tspan></text> + <rect + y="206.6479" + x="85.714287" + height="91.428574" + width="354.28571" + id="rect3138" + style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <g + transform="translate(-622,-49.999979)" + id="g3908-1"> + <text + sodipodi:linespacing="125%" + id="text3084-9" + y="246.54382" + x="106.92159" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="246.54382" + x="106.92159" + id="tspan3086-3" + sodipodi:role="line">def STORE_FAST(self):</tspan><tspan + id="tspan3088-8" + y="276.54382" + x="106.92159" + sodipodi:role="line"> ...</tspan></text> + <rect + y="206.6479" + x="85.714287" + height="91.428574" + width="354.28571" + id="rect3138-0" + style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <g + transform="translate(-622,68.571421)" + id="g3908-16"> + <text + sodipodi:linespacing="125%" + id="text3084-3" + y="246.54382" + x="106.92159" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="246.54382" + x="106.92159" + id="tspan3086-0" + sodipodi:role="line">def BINARY_ADD(self):</tspan><tspan + id="tspan3088-4" + y="276.54382" + x="106.92159" + sodipodi:role="line"> ...</tspan></text> + <rect + y="206.6479" + x="85.714287" + height="91.428574" + width="354.28571" + id="rect3138-8" + style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + </g> + </g> + <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="-454.88504" + y="-103.63782" + id="text5192" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5194" + x="-454.88504" + y="-103.63782">RPYTHON</tspan></text> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="codewriter" + transform="translate(48.09375,-13.439453)"> + <g + id="g4343" + transform="translate(550.78125,204.20488)"> + <text + sodipodi:linespacing="125%" + id="text3084-92" + y="214.0381" + x="28.557568" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + id="tspan3088-3" + y="214.0381" + x="28.557568" + sodipodi:role="line">CODEWRITER</tspan></text> + <rect + y="155.21931" + x="8.5714369" + height="91.428574" + width="285.97812" + id="rect3138-7" + style="fill:none;stroke:#ff0000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:9, 3;stroke-dashoffset:0" /> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:12.49669838;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" + d="m 381.19733,405.25855 130.48659,0" + id="path4348" + inkscape:connector-curvature="0" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="jitcode" + transform="translate(48.09375,-13.439453)"> + <g + id="g5358" + transform="translate(7.9254937,0)"> + <g + transform="translate(956.78125,-250.07878)" + id="g4105"> + <g + transform="translate(2.8571441,301.42856)" + id="g3908-6"> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="100.07337" + y="231.73483" + id="text3084-33" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="100.07337" + y="231.73483" + id="tspan3088-9">...</tspan><tspan + id="tspan4077" + sodipodi:role="line" + x="100.07337" + y="261.73483">p0 = getfield_gc(p0, 'func_globals')</tspan><tspan + id="tspan4075" + sodipodi:role="line" + x="100.07337" + y="291.73483">p2 = getfield_gc(p1, 'strval')</tspan><tspan + id="tspan4057" + sodipodi:role="line" + x="100.07337" + y="321.73483">call(dict_lookup, p0, p2)</tspan><tspan + id="tspan4059" + sodipodi:role="line" + x="100.07337" + y="351.73483">....</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.67027557;stroke-miterlimit:4;stroke-dasharray:none" + id="rect3138-85" + width="544.94354" + height="165.82893" + x="86.099648" + y="207.03326" /> + <flowRoot + 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" + id="flowRoot4061" + xml:space="preserve"><flowRegion + id="flowRegion4063"><rect + y="353.79074" + x="315.71429" + height="77.14286" + width="102.85714" + id="rect4065" /></flowRegion><flowPara + id="flowPara4067"></flowPara></flowRoot> </g> + </g> + <g + id="g4105-0" + transform="translate(958.20983,-420.24935)"> + <g + transform="translate(2.8571441,301.42856)" + id="g3908-6-7"> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="100.07337" + y="231.73483" + id="text3084-33-8" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="100.07337" + y="231.73483" + id="tspan3088-9-8">...</tspan><tspan + id="tspan4077-6" + sodipodi:role="line" + x="100.07337" + y="261.73483">p0 = getfield_gc(p0, 'locals_w')</tspan><tspan + id="tspan4075-1" + sodipodi:role="line" + x="100.07337" + y="291.73483">setarrayitem_gc(p0, i0, p1)</tspan><tspan + id="tspan4059-8" + sodipodi:role="line" + x="100.07337" + y="321.73483">....</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:1.49203587;stroke-miterlimit:4;stroke-dasharray:none" + id="rect3138-85-9" + width="544.94354" + height="132.3252" + x="86.099648" + y="207.03326" /> + <flowRoot + 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" + id="flowRoot4061-4" + xml:space="preserve"><flowRegion + id="flowRegion4063-2"><rect + y="353.79074" + x="315.71429" + height="77.14286" + width="102.85714" + id="rect4065-2" /></flowRegion><flowPara + id="flowPara4067-6" /></flowRoot> </g> + </g> + <g + transform="matrix(1.0073841,0,0,1,716.36172,92.764785)" + id="g4325"> + <text + sodipodi:linespacing="125%" + id="text3084-33-1" + y="396.14929" + x="341.50195" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + id="tspan3088-9-0" + y="396.14929" + x="341.50195" + sodipodi:role="line">...</tspan><tspan + y="426.14929" + x="341.50195" + sodipodi:role="line" + id="tspan4077-62">i0 = getfield_gc(p0, 'intval')</tspan><tspan + y="456.14929" + x="341.50195" + sodipodi:role="line" + id="tspan4075-3">i1 = getfield_gc(p1, 'intval')</tspan><tspan + y="486.14929" + x="341.50195" + sodipodi:role="line" + id="tspan4059-7">i2 = int_add(00, i1)</tspan><tspan + y="516.14929" + x="341.50195" + sodipodi:role="line" + id="tspan4242">if (overflowed) goto ...</tspan><tspan + y="546.14929" + x="341.50195" + sodipodi:role="line" + id="tspan4246">p2 = new_with_vtable('W_IntObject')</tspan><tspan + y="576.14929" + x="341.50195" + sodipodi:role="line" + id="tspan4248">setfield_gc(p2, i2, 'intval')</tspan><tspan + y="606.14929" + x="341.50195" + sodipodi:role="line" + id="tspan4304">....</tspan></text> + <g + transform="matrix(1,0,0,1.1400311,480.57144,-267.23566)" + id="g4105-2"> + <g + id="g3908-6-5" + transform="translate(2.8571441,301.42856)"> + <rect + y="257.17258" + x="-155.76105" + height="227.55032" + width="540.66492" + id="rect3138-85-5" + style="fill:none;stroke:#000000;stroke-width:1.94887984;stroke-miterlimit:4;stroke-dasharray:none" /> + <flowRoot + xml:space="preserve" + id="flowRoot4061-0" + 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="flowRegion4063-6"><rect + id="rect4065-1" + width="102.85714" + height="77.14286" + x="315.71429" + y="353.79074" /></flowRegion><flowPara + id="flowPara4067-1" /></flowRoot> </g> + </g> + </g> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:12.49669838;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" + d="m 874.38698,405.25855 130.48662,0" + id="path4348-5" + inkscape:connector-curvature="0" /> + <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="1240.5885" + y="43.126953" + id="text5192-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5194-4" + x="1240.5885" + y="43.126953">JITCODE</tspan></text> + </g> + <g + inkscape:groupmode="layer" + id="layer5" + inkscape:label="timeline" + transform="translate(48.09375,-13.439453)"> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + d="m -48.083261,738.03442 1685.742561,0" + id="path5619" + inkscape:connector-curvature="0" /> + <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="506.28845" + y="697.26794" + id="text5623" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5625" + x="506.28845" + y="697.26794" + style="fill:#800000">compile-time</tspan></text> + <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="557.99744" + y="804.74817" + id="text5627" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5629" + x="557.99744" + y="804.74817" + style="fill:#008000">runtime</tspan></text> + </g> + <g + inkscape:groupmode="layer" + id="layer6" + inkscape:label="metatracer" + transform="translate(48.09375,-13.439453)"> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + x="1331.2896" + y="928.88922" + id="text3084-92-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="1331.2896" + y="928.88922" + id="tspan3088-3-5">META-TRACER</tspan></text> + <rect + style="fill:none;stroke:#00ff00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:9, 3;stroke-dashoffset:0" + id="rect3138-7-6" + width="285.97812" + height="91.428574" + x="1311.3035" + y="870.07043" /> + <path + style="fill:none;stroke:#000000;stroke-width:10.14441872;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" + d="m 1446.1263,750.28419 -0.6836,86.05037" + id="path4348-5-9" + inkscape:connector-curvature="0" /> + </g> + <g + inkscape:groupmode="layer" + id="layer7" + inkscape:label="optimizer" + transform="translate(48.09375,-13.439453)"> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + x="918.10229" + y="928.88922" + id="text3084-92-9-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="918.10229" + y="928.88922" + id="tspan3088-3-5-2">OPTIMIZER</tspan></text> + <rect + style="fill:none;stroke:#00ff00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:9, 3;stroke-dashoffset:0" + id="rect3138-7-6-7" + width="285.97812" + height="91.428574" + x="874.03418" + y="870.07043" /> + <path + style="fill:none;stroke:#000000;stroke-width:10.88625526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" + d="m 1289.6562,915.68014 -99.0221,0" + id="path4348-5-94" + inkscape:connector-curvature="0" /> + </g> + <g + inkscape:groupmode="layer" + id="layer8" + inkscape:label="backend" + transform="translate(48.09375,-13.439453)"> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + x="491.6084" + y="928.88922" + id="text3084-92-9-5-0" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="491.6084" + y="928.88922" + id="tspan3088-3-5-2-7">BACKEND</tspan></text> + <rect + style="fill:none;stroke:#00ff00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:9, 3;stroke-dashoffset:0" + id="rect3138-7-6-7-1" + width="285.97812" + height="91.428574" + x="436.76486" + y="870.07043" /> + <path + style="fill:none;stroke:#000000;stroke-width:10.88625526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" + d="m 852.38686,915.68014 -99.02217,0" + id="path4348-5-94-1" + inkscape:connector-curvature="0" /> + </g> + <g + inkscape:groupmode="layer" + id="layer9" + inkscape:label="jitted" + transform="translate(48.09375,-13.439453)"> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + x="29.307829" + y="928.88922" + id="text3084-92-9-5-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="29.307829" + y="928.88922" + id="tspan3088-3-5-2-9">JITTED CODE</tspan></text> + <rect + style="fill:none;stroke:#00ff00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:9, 3;stroke-dashoffset:0" + id="rect3138-7-6-7-6" + width="285.97812" + height="91.428574" + x="-0.50445831" + y="870.07043" /> + <path + style="fill:none;stroke:#000000;stroke-width:10.88625526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)" + d="m 415.11751,915.68014 -99.02217,0" + id="path4348-5-94-2" + inkscape:connector-curvature="0" /> + </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 @@ -256,3 +256,16 @@ .. animage:: diagrams/tracetree-p*.pdf :align: center :scale: 34% + + +Part 2 +------ + +**The PyPy JIT generator** + +General architecture +--------------------- + +.. animage:: diagrams/architecture-p*.pdf + :align: center + :scale: 24% _______________________________________________ pypy-commit mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-commit
