Author: David Schneider <[email protected]>
Branch: extradoc
Changeset: r4397:87dcb3f5a5ed
Date: 2012-07-31 11:56 +0200
http://bitbucket.org/pypy/extradoc/changeset/87dcb3f5a5ed/

Log:    Add a figure about the control flow in case of patched and unpatched
        guard failures and refer to the figure in the text

diff --git a/talk/vmil2012/Makefile b/talk/vmil2012/Makefile
--- a/talk/vmil2012/Makefile
+++ b/talk/vmil2012/Makefile
@@ -1,5 +1,5 @@
 
-jit-guards.pdf: paper.tex paper.bib figures/log.tex figures/example.tex 
figures/benchmarks_table.tex figures/backend_table.tex 
figures/ops_count_table.tex
+jit-guards.pdf: paper.tex paper.bib figures/log.tex figures/example.tex 
figures/benchmarks_table.tex figures/backend_table.tex 
figures/ops_count_table.tex figures/loop_bridge.pdf
        pdflatex paper
        bibtex paper
        pdflatex paper
diff --git a/talk/vmil2012/figures/loop_bridge.graffle 
b/talk/vmil2012/figures/loop_bridge.graffle
new file mode 100644
--- /dev/null
+++ b/talk/vmil2012/figures/loop_bridge.graffle
@@ -0,0 +1,1359 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
+<plist version="1.0">
+<dict>
+       <key>ActiveLayerIndex</key>
+       <integer>0</integer>
+       <key>ApplicationVersion</key>
+       <array>
+               <string>com.omnigroup.OmniGrafflePro</string>
+               <string>139.7.0.167456</string>
+       </array>
+       <key>AutoAdjust</key>
+       <true/>
+       <key>BackgroundGraphic</key>
+       <dict>
+               <key>Bounds</key>
+               <string>{{0, 0}, {559, 783}}</string>
+               <key>Class</key>
+               <string>SolidGraphic</string>
+               <key>ID</key>
+               <integer>2</integer>
+               <key>Style</key>
+               <dict>
+                       <key>shadow</key>
+                       <dict>
+                               <key>Draws</key>
+                               <string>NO</string>
+                       </dict>
+                       <key>stroke</key>
+                       <dict>
+                               <key>Draws</key>
+                               <string>NO</string>
+                       </dict>
+               </dict>
+       </dict>
+       <key>BaseZoom</key>
+       <integer>0</integer>
+       <key>CanvasOrigin</key>
+       <string>{0, 0}</string>
+       <key>ColumnAlign</key>
+       <integer>1</integer>
+       <key>ColumnSpacing</key>
+       <real>36</real>
+       <key>CreationDate</key>
+       <string>2012-07-24 10:50:56 +0000</string>
+       <key>Creator</key>
+       <string>David Schneider</string>
+       <key>DisplayScale</key>
+       <string>1.000 cm = 1.000 cm</string>
+       <key>GraphDocumentVersion</key>
+       <integer>8</integer>
+       <key>GraphicsList</key>
+       <array>
+               <dict>
+                       <key>Class</key>
+                       <string>Group</string>
+                       <key>Graphics</key>
+                       <array>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{151.00001525878906, 447.5}, 
{166.99998474121094, 93.5}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>59</integer>
+                                       <key>Magnets</key>
+                                       <array>
+                                               <string>{1, 0}</string>
+                                               <string>{-1, 0}</string>
+                                       </array>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Text</key>
+                                       <dict>
+                                               <key>Text</key>
+                                               
<string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset0 Monaco;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs20 \cf0 read ll resume data\
+decode resume data\
+retrieve stack and register values\
+...}</string>
+                                       </dict>
+                               </dict>
+                               <dict>
+                                       <key>Bounds</key>
+                                       <string>{{151, 414}, {167, 
33.5}}</string>
+                                       <key>Class</key>
+                                       <string>ShapedGraphic</string>
+                                       <key>ID</key>
+                                       <integer>60</integer>
+                                       <key>Magnets</key>
+                                       <array>
+                                               <string>{0, 1}</string>
+                                               <string>{0, -1}</string>
+                                       </array>
+                                       <key>Shape</key>
+                                       <string>Rectangle</string>
+                                       <key>Text</key>
+                                       <dict>
+                                               <key>Text</key>
+                                               
<string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 compensation code}</string>
+                                       </dict>
+                               </dict>
+                       </array>
+                       <key>ID</key>
+                       <integer>58</integer>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>40</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>56</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{367.06790889821832, 
350.9540624572428}</string>
+                               <string>{338, 414}</string>
+                               <string>{346.8410005147403, 
506.4534215178565}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>Pattern</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>44</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>41</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>55</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{375, 301.25}</string>
+                               <string>{418, 369}</string>
+                               <string>{421.99397498596954, 
444.99998514226786}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>Pattern</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>43</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>39</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>54</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{94.401152561692797, 
351.9165081184579}</string>
+                               <string>{127, 401}</string>
+                               <string>{121.99397498596946, 517.5}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>Pattern</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>42</integer>
+                               <key>Info</key>
+                               <integer>2</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>38</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>53</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{83, 301.25}</string>
+                               <string>{42, 373}</string>
+                               <string>{46.9741099939598, 
433.72820859342926}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>Pattern</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>37</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>44</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>52</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{376, 205}</string>
+                               <string>{413, 266}</string>
+                               <string>{375, 333.75}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>34</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>43</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>51</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{376, 159}</string>
+                               <string>{413, 215.5}</string>
+                               <string>{375, 301.25}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>32</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>60</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>50</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{272, 301.25}</string>
+                               <string>{235, 306}</string>
+                               <string>{234.5, 414}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>43</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>60</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>49</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{271.50039500214672, 
337.86646156241466}</string>
+                               <string>{243, 339}</string>
+                               <string>{234.5, 414}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>44</integer>
+                               <key>Info</key>
+                               <integer>1</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>60</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>48</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{186, 334.75}</string>
+                               <string>{211, 361}</string>
+                               <string>{234.5, 414}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>42</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>60</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>47</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{186, 301.25}</string>
+                               <string>{219, 317}</string>
+                               <string>{234.5, 414}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>37</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>46</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{188, 205}</string>
+                               <string>{231, 158}</string>
+                               <string>{271, 113}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>24</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>37</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>45</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{83, 159}</string>
+                               <string>{34, 226}</string>
+                               <string>{83, 301.25}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Legacy</key>
+                                       <true/>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>18</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{272, 317}, {103, 33.5}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>44</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 Trampoline #4}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{272, 284.5}, {103, 33.5}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>43</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 Trampoline #3}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 318}, {103, 33.5}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>42</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 Trampoline #2}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{342, 421.49998514226786}, {85, 47}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>41</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Cloud</string>
+                       <key>Style</key>
+                       <dict/>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 ll resume data #3}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{341.99998930037054, 493.99999618530273}, {85, 
47}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>40</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Cloud</string>
+                       <key>Style</key>
+                       <dict/>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 ll resume data #4}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{42, 494}, {85, 47}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>39</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Cloud</string>
+                       <key>Style</key>
+                       <dict/>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 ll resume data #2}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{42, 421.5}, {85, 47}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>38</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Cloud</string>
+                       <key>Style</key>
+                       <dict/>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 ll resume data #1}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 284.5}, {103, 33.5}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>37</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 Trampoline #1}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{271, 238.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>36</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 jump}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{271, 215.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>35</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{271, 193.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>34</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.4</string>
+                                               <key>g</key>
+                                               <string>0.8</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 guard 4}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{271, 170.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>33</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{271, 147.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>32</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.4</string>
+                                               <key>g</key>
+                                               <string>0.8</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 guard 3}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{271, 124.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>31</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{271, 101.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>30</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{248, 59}, {151, 24}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>FitText</key>
+                       <string>Vertical</string>
+                       <key>Flow</key>
+                       <string>Resize</string>
+                       <key>ID</key>
+                       <integer>29</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Style</key>
+                       <dict/>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 Bridge out of guard #2}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{248, 83}, {151, 286}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>28</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 238.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>27</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 jump}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 215.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>26</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 193.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>24</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.4</string>
+                                               <key>g</key>
+                                               <string>0.8</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 patched guard #2}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 170.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>19</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 147.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>18</integer>
+                       <key>Magnets</key>
+                       <array>
+                               <string>{1, 0}</string>
+                               <string>{-1, 0}</string>
+                       </array>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.4</string>
+                                               <key>g</key>
+                                               <string>0.8</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 guard #1}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 124.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>17</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{83, 101.5}, {105, 23}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>16</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 operation}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{60, 59}, {151, 24}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>FitText</key>
+                       <string>Vertical</string>
+                       <key>Flow</key>
+                       <string>Resize</string>
+                       <key>ID</key>
+                       <integer>20</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>Style</key>
+                       <dict/>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               <string>{\rtf1\ansi\ansicpg1252\cocoartf1187
+\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 Loop}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{60, 83}, {151, 286}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>23</integer>
+                       <key>Shape</key>
+                       <string>Rectangle</string>
+                       <key>TextRelativeArea</key>
+                       <string>{{0, 0}, {1, 1}}</string>
+               </dict>
+       </array>
+       <key>GridInfo</key>
+       <dict/>
+       <key>GuidesLocked</key>
+       <string>NO</string>
+       <key>GuidesVisible</key>
+       <string>YES</string>
+       <key>HPages</key>
+       <integer>1</integer>
+       <key>ImageCounter</key>
+       <integer>1</integer>
+       <key>KeepToScale</key>
+       <false/>
+       <key>Layers</key>
+       <array>
+               <dict>
+                       <key>Lock</key>
+                       <string>NO</string>
+                       <key>Name</key>
+                       <string>Layer 1</string>
+                       <key>Print</key>
+                       <string>YES</string>
+                       <key>View</key>
+                       <string>YES</string>
+               </dict>
+       </array>
+       <key>LayoutInfo</key>
+       <dict>
+               <key>Animate</key>
+               <string>NO</string>
+               <key>circoMinDist</key>
+               <real>18</real>
+               <key>circoSeparation</key>
+               <real>0.0</real>
+               <key>layoutEngine</key>
+               <string>dot</string>
+               <key>neatoSeparation</key>
+               <real>0.0</real>
+               <key>twopiSeparation</key>
+               <real>0.0</real>
+       </dict>
+       <key>LinksVisible</key>
+       <string>NO</string>
+       <key>MagnetsVisible</key>
+       <string>NO</string>
+       <key>MasterSheets</key>
+       <array/>
+       <key>ModificationDate</key>
+       <string>2012-07-31 09:02:18 +0000</string>
+       <key>Modifier</key>
+       <string>David Schneider</string>
+       <key>NotesVisible</key>
+       <string>NO</string>
+       <key>Orientation</key>
+       <integer>2</integer>
+       <key>OriginVisible</key>
+       <string>NO</string>
+       <key>PageBreaks</key>
+       <string>YES</string>
+       <key>PrintInfo</key>
+       <dict>
+               <key>NSBottomMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>41</string>
+               </array>
+               <key>NSHorizonalPagination</key>
+               <array>
+                       <string>coded</string>
+                       
<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
+               </array>
+               <key>NSLeftMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>18</string>
+               </array>
+               <key>NSPaperSize</key>
+               <array>
+                       <string>size</string>
+                       <string>{595, 842}</string>
+               </array>
+               <key>NSPrintReverseOrientation</key>
+               <array>
+                       <string>int</string>
+                       <string>0</string>
+               </array>
+               <key>NSRightMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>18</string>
+               </array>
+               <key>NSTopMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>18</string>
+               </array>
+       </dict>
+       <key>PrintOnePage</key>
+       <false/>
+       <key>ReadOnly</key>
+       <string>NO</string>
+       <key>RowAlign</key>
+       <integer>1</integer>
+       <key>RowSpacing</key>
+       <real>36</real>
+       <key>SheetTitle</key>
+       <string>Canvas 1</string>
+       <key>SmartAlignmentGuidesActive</key>
+       <string>YES</string>
+       <key>SmartDistanceGuidesActive</key>
+       <string>YES</string>
+       <key>UniqueID</key>
+       <integer>1</integer>
+       <key>UseEntirePage</key>
+       <false/>
+       <key>VPages</key>
+       <integer>1</integer>
+       <key>WindowInfo</key>
+       <dict>
+               <key>CurrentSheet</key>
+               <integer>0</integer>
+               <key>ExpandedCanvases</key>
+               <array>
+                       <dict>
+                               <key>name</key>
+                               <string>Canvas 1</string>
+                       </dict>
+               </array>
+               <key>ListView</key>
+               <true/>
+               <key>OutlineWidth</key>
+               <integer>142</integer>
+               <key>RightSidebar</key>
+               <false/>
+               <key>ShowRuler</key>
+               <true/>
+               <key>Sidebar</key>
+               <true/>
+               <key>SidebarWidth</key>
+               <integer>120</integer>
+               <key>Zoom</key>
+               <real>1</real>
+               <key>ZoomValues</key>
+               <array>
+                       <array>
+                               <string>Canvas 1</string>
+                               <real>1</real>
+                               <real>1</real>
+                       </array>
+               </array>
+       </dict>
+</dict>
+</plist>
diff --git a/talk/vmil2012/figures/loop_bridge.pdf 
b/talk/vmil2012/figures/loop_bridge.pdf
new file mode 100644
index 
0000000000000000000000000000000000000000..11f34d093608ad6eb4959f4bd33266dd4a263f79
GIT binary patch

[cut]

diff --git a/talk/vmil2012/paper.tex b/talk/vmil2012/paper.tex
--- a/talk/vmil2012/paper.tex
+++ b/talk/vmil2012/paper.tex
@@ -426,7 +426,7 @@
 more detail here?!} This encoding needs to be as compact as possible to
 maintain an acceptable memory profile.
 
-\bivab{example for low-level resume data goes here}
+\todo{example for low-level resume data showing how the current encoding 
works?}
 
 Second a piece of code is generated for each guard that acts as a trampoline.
 Guards are implemented as a conditional jump to this trampoline. In case the
@@ -445,9 +445,11 @@
 As in previous sections the underlying idea for the design of guards is to have
 a fast on-trace profile and a potentially slow one in the bail-out case where
 the execution takes one of the side exits due to a guard failure. At the same
-time the data stored in the backend needed to rebuild the state should be be
-as compact as possible to reduce the memory overhead produced by the large
-number of guards\bivab{back this}.
+time the data stored in the backend needed to rebuild the state needs to be as
+compact as possible to reduce the memory overhead produced by the large number
+of guards, the numbers in Figure~\ref{fig:backend_data} illustrate that the
+compressed encoding currently has about 25\% of the size of of the generated
+instructions on x86.
 
 As explained in previous sections, when a specific guard has failed often 
enough
 a new trace, referred to as a \emph{bridge}, starting from this guard is 
recorded and
@@ -467,12 +469,23 @@
 reconstruction all bindings are restored to the state as they were in the
 original loop up to the guard.
 
-Once the bridge has been compiled the trampoline method stub is redirected to
-the code of the bridge. In future if the guard fails again it jumps to the code
-compiled for the bridge instead of bailing out. Once the guard has been
-compiled and attached to the loop the guard becomes just a point where
-control-flow can split. The loop after the guard and the bridge are just
-conditional paths. \todo{add figure of trace with trampoline and patched guard 
to a bridge}
+Once the bridge has been compiled the guard that led to compiling the birdge is
+patched to redirect control flow to the bridge in case the check fails. In
+future if the guard fails again it jumps to the code compiled for the bridge
+instead of bailing out. Once the guard has been compiled and attached to the
+loop the guard becomes just a point where control-flow can split. The loop
+after the guard and the bridge are just conditional paths.
+Figure~\ref{fig:trampoline} shows a digram of a compiled loop with two guards,
+Guard \#1 jumps to the trampoline, loads the \texttt{low level resume data} and
+then calls the compensation code, whereas Guard \#2 has already been patched
+and directly jumps to the corresponding bridge. The bridge also contains two
+guards that work based on the same principles.
+\begin{figure}
+\centering
+\includegraphics[width=0.5\textwidth]{figures/loop_bridge.pdf}
+\caption{Trace control flow in case of guard failures with and without bridges}
+\label{fig:trampoline}
+\end{figure}
 %* Low level handling of guards
 %   * Fast guard checks v/s memory usage
 %   * memory efficient encoding of low level resume data
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to