2013-09-28 05:30:57 +00:00
|
|
|
<div class="pd w0 h0"><div id="pf8" class="pf" data-page-no="8"><div class="pc pc8"><img class="bi x32 y5 w1 h1d" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAd4AAACpCAIAAAAKrMtZAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB/ElEQVR42u3dsQ2AMBRDQcz+G//CzECBSOBuAmSkpyhN0vZYVZKVP88ywENOEwBIMwDSDCDNAEgzgDQDIM0A0gyANAMgzQDSDIA0A0gzANIMIM0ASDOANAMgzQBIM8BmPDEHsFqW49nWHVkGvs2FBoA0AyDNANIMgDQDSDMA0gwgzQBIMwDSDCDNAEgzgDQDIM0A0gyANANIMwDSDIA0A0gzANIMIM0ASDOANAMgzQBIM4A0AyDNANIMgDQDSDMA0gwgzQBIMwDSDCDNAEgzgDQDIM0A0gyANAMgzQDSDIA0A0gzANIMIM0ASDOANAMgzQBIM4A0AyDNANIMgDQDSDMA0gyANANIMwDSDCDNAEgzgDQDIM0A0gyANAMgzQDSDIA0A0gzANIMIM0ASDMA0gwgzQBIM4A0AyDNANIMgDQDSDMA0gyANANIMwDSDCDNAEgzgDQDIM0ASDOANAMgzQDSDIA0A0gzANIMIM0ASDMA0gwgzQBIM4A0AyDNANIMgDQDIM0A0gyANANIMwDSDCDNAEgzgDQDIM0ASDOANAMgzQDSDIA0A0gzANIMgDQDSDMA0gwgzQBIM4A0AyDNANIMgDQDIM0A0gyANANIMwDSDCDNAEgzgDSbAECab5gZf8gy8ENpawUAp2YApBlAmgGQZgBpBkCaAQDgTRdc4iIf/WoXWAAAAABJRU5ErkJggg=="/><div class="t m0 x2f hc y5b ff1 fs3 fc0 sc0 ls0 ws0">5.1<span class="_ _9"> </span>Optimizations</div><div class="t m0 x2f h5 y1e2 ff2 fs3 fc0 sc0 ls0 ws0">Because<span class="_ _d"> </span>traces<span class="_ _d"> </span>are<span class="_ _8"> </span>in<span class="_ _d"> </span>SSA<span class="_ _d"> </span>form<span class="_ _d"> </span>and<span class="_ _d"> </span>hav<span class="_ _2"></span>e<span class="_ _d"> </span>no<span class="_ _8"> </span>join<span class="_ _d"> </span>points<span class="_ _d"> </span>or<span class="_ _d"> </span><span class="fff">φ</span>-</div><div class="t m0 x2f h5 y1e3 ff2 fs3 fc0 sc0 ls0 ws0">nodes,<span class="_ _d"> </span>certain<span class="_ _d"> </span>optimizations<span class="_ _d"> </span>are<span class="_ _d"> </span>easy<span class="_ _d"> </span>to<span class="_ _8"> </span>implement.<span class="_ _d"> </span>In<span class="_ _d"> </span>order<span class="_ _d"> </span>to</div><div class="t m0 x2f h5 y1e4 ff2 fs3 fc0 sc0 ls0 ws0">get<span class="_ _3"> </span>good<span class="_ _5"> </span>startup<span class="_ _3"> </span>performance,<span class="_ _3"> </span>the<span class="_ _3"> </span>optimizations<span class="_ _5"> </span>must<span class="_ _3"> </span>run<span class="_ _3"> </span>quickly<span class="_ _b"></span>,</div><div class="t m0 x2f h5 y1e5 ff2 fs3 fc0 sc0 ls0 ws0">so<span class="_ _d"> </span>we<span class="_ _d"> </span>chose<span class="_ _d"> </span>a<span class="_ _d"> </span>small<span class="_ _d"> </span>set<span class="_ _d"> </span>of<span class="_ _8"> </span>optimizations.<span class="_ _d"> </span>W<span class="_ _2"></span>e<span class="_ _8"> </span>implemented<span class="_ _d"> </span>the</div><div class="t m0 x2f h5 y1e6 ff2 fs3 fc0 sc0 ls0 ws0">optimizations<span class="_ _3"> </span>as<span class="_ _5"> </span>pipelined<span class="_ _5"> </span>filters<span class="_ _3"> </span>so<span class="_ _5"> </span>that<span class="_ _3"> </span>the<span class="_ _2"></span>y<span class="_ _5"> </span>can<span class="_ _3"> </span>be<span class="_ _5"> </span>turned<span class="_ _3"> </span>on<span class="_ _5"> </span>and</div><div class="t m0 x2f h5 y3 ff2 fs3 fc0 sc0 ls0 ws0">off<span class="_ _3"> </span>independently<span class="_ _b"></span>,<span class="_ _3"> </span>and<span class="_ _3"> </span>yet<span class="_ _3"> </span>all<span class="_ _3"> </span>run<span class="_ _3"> </span>in<span class="_ _3"> </span>just<span class="_ _3"> </span>two<span class="_ _3"> </span>loop<span class="_ _3"> </span>passes<span class="_ _3"> </span>ov<span class="_ _2"></span>er<span class="_ _3"> </span>the</div><div class="t m0 x2f h5 y1e7 ff2 fs3 fc0 sc0 ls0 ws0">trace:<span class="_ _5"> </span>one<span class="_ _5"> </span>forward<span class="_ _5"> </span>and<span class="_ _3"> </span>one<span class="_ _5"> </span>backw<span class="_ _2"></span>ard.</div><div class="t m0 x34 h5 y1e8 ff2 fs3 fc0 sc0 ls0 ws0">Every<span class="_ _6"> </span>time<span class="_ _6"> </span>the<span class="_ _6"> </span>trace<span class="_ _6"> </span>recorder<span class="_ _6"> </span>emits<span class="_ _6"> </span>a<span class="_ _8"> </s
|