comparison presen/index.html @ 85:7ed352ddae10

modify spell miss
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 07 Jan 2012 12:52:25 +0900
parents fb5994f49abd
children
comparison
equal deleted inserted replaced
84:fb5994f49abd 85:7ed352ddae10
567 <h1>CbCの実装:軽量継続(末尾除去)</h1> 567 <h1>CbCの実装:軽量継続(末尾除去)</h1>
568 <li>末尾除去の条件はexpand_call関数で調べられる。</li> 568 <li>末尾除去の条件はexpand_call関数で調べられる。</li>
569 <ul> 569 <ul>
570 <li>expand_call関数</li> 570 <li>expand_call関数</li>
571 <ul> 571 <ul>
572 <li>SSAへの変換を終えたGIMPLEからとり出されたCALL_EXPREのTreeからRTLを生成する関数</li> 572 <li>SSAへの変換を終えたGIMPLEにあるCALL_EXPREのTreeからRTLを生成する関数</li>
573 <li>スタックの領域確保、引数の格納、関数へのcall命令の発行が行わる。</li> 573 <li>スタックの領域確保、引数の格納、関数へのcall命令の発行が行わる。</li>
574 <li>try_taill_call(局所変数)フラグがあり、末尾除去の条件に合わなければこのフラグが落とされる。</li> 574 <li>try_taill_call(局所変数)フラグがあり、末尾除去の条件に合わなければこのフラグが落とされる。</li>
575 </ul> 575 </ul>
576 <li class="incremental">具体的な実装内容</li> 576 <li class="incremental">具体的な実装内容</li>
577 <ul> 577 <ul>
1103 </tr> 1103 </tr>
1104 </table> 1104 </table>
1105 </div> 1105 </div>
1106 <!--PAGE--> 1106 <!--PAGE-->
1107 <div class="slide"> 1107 <div class="slide">
1108 <h1></h1> 1108 <h1>引数の並びに上書きコピー</h1>
1109 <li>引数の並びの上書きにコピーが無い。</li>
1110 <pre style="font-size:28px;"> 1109 <pre style="font-size:28px;">
1111 __code cs_a(int a, int b) { 1110 __code cs_a(int a, int b) {
1112 goto cs_b(b,a); 1111 goto cs_b(b,a);
1113 } 1112 }
1114 </pre> 1113 </pre>
1115 <img src="./pix/cs_prog.png"> 1114 <img src="./pix/cs_prog.png">
1116 </div> 1115 </div>
1117 <!--PAGE--> 1116 <!--PAGE-->
1117 <div class="slide">
1118 <h1>スタックサイズ固定</h1>
1119 <li>expand_call関数にて</li>
1120 <pre style="font-size:28px;">
1121 args_size.constant = CbC_PRETENDED_STACK_SIZE;
1122 </pre>
1123 </div>
1124 <!--PAGE-->
1118 1125
1119 </div> 1126 </div>
1120 </body> 1127 </body>
1121 </html> 1128 </html>