Mercurial > hg > Papers > 2011 > nobu-prosym
comparison Paper/nobu-prosym.tex @ 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 | de1f203636d1 |
children |
comparison
equal
deleted
inserted
replaced
84:fb5994f49abd | 85:7ed352ddae10 |
---|---|
160 | 160 |
161 \begin{figure}[htpb] | 161 \begin{figure}[htpb] |
162 \begin{center} | 162 \begin{center} |
163 \scalebox{0.35}{\includegraphics{figure/factorial.pdf}} | 163 \scalebox{0.35}{\includegraphics{figure/factorial.pdf}} |
164 \end{center} | 164 \end{center} |
165 \caption{階上を計算する CbC プログラムの例} | 165 \caption{階乗を計算する CbC プログラムの例} |
166 \label{fig:factorial} | 166 \label{fig:factorial} |
167 \end{figure} | 167 \end{figure} |
168 | 168 |
169 | 169 |
170 %\begin{center} | 170 %\begin{center} |
522 \subsubsection{環境付き継続の問題} | 522 \subsubsection{環境付き継続の問題} |
523 現在環境付き継続は | 523 現在環境付き継続は |
524 このコードを GCC 内部で生成することで実現している. これは正しく動作しているが, | 524 このコードを GCC 内部で生成することで実現している. これは正しく動作しているが, |
525 \verb+retval+に static を指定してしまうと, | 525 \verb+retval+に static を指定してしまうと, |
526 スレッドセーフな実装でなくなる. | 526 スレッドセーフな実装でなくなる. |
527 これを通常の変数にすると, 関数内の関数は closure として実装される. しかし, GCC 4.6 と Lion の | 527 %これを通常の変数にすると, 関数内の関数は closure として実装される. しかし, GCC 4.6 と Lion の |
528 組合せでは closure は正しく動作してないことがわかった. | 528 %組合せでは closure は正しく動作してないことがわかった. |
529 Thread local 変数を用いると, やはり closure が出力されてしまう. | 529 Thread local 変数を用いると, やはり closure が出力されてしまう. |
530 本来, 戻値用のレジスタが使用されれば問題ないが, 戻値の型は整数やポインタとは限らず, | 530 スタックに値を確保する closure は, スタックを破棄していく CbC には向いていない. |
531 戻値用のレジスタが使用されれば問題ないが, 戻値の型は整数やポインタとは限らず, | |
531 浮動小数点や構造体自体である可能性があり複雑である. | 532 浮動小数点や構造体自体である可能性があり複雑である. |
532 一つの解決策はレジスタ渡しと考えているが, 他の方法もありえる. 少し重いが setjmp を用いた実装方法もある. | 533 一つの解決策はレジスタ渡しと考えているが, 他の方法もありえる. 少し重いが setjmp を用いた実装方法もある. |
533 | 534 |
534 | 535 |
535 \subsection{引数の渡し方} | 536 \subsection{引数の渡し方} |