Mercurial > hg > Papers > 2021 > anatofuz-master
diff paper/chapter/02-cbc.tex @ 58:b1e2bcdd5191
fix order
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 02 Feb 2021 15:48:04 +0900 |
parents | 69e341226e5a |
children | 1ce43db7c038 |
line wrap: on
line diff
--- a/paper/chapter/02-cbc.tex Tue Feb 02 14:41:18 2021 +0900 +++ b/paper/chapter/02-cbc.tex Tue Feb 02 15:48:04 2021 +0900 @@ -15,11 +15,11 @@ 入力のDataGearをInputDataGearと呼び、 出力のDataGearをOutputDataGearと呼ぶ。 CodeGearがアクセスできるDataGearは、 InputDataGearとOutputDataGearに限定される。 -CodeGearは関数呼び出し時のスタックを持たない為、一度あるCodeGearに遷移してしまうと元の処理に戻ってくることができない。 +CodeGearは関数呼び出し時のスタックを持たない為、一度あるCodeGearに遷移すると元の処理に戻ってこれない。 しかしCodeGearを呼び出す直前のスタックは保存される。 部分的にCbCを適用する場合はCodeGearを呼び出す\texttt{void}型などの関数を経由することで呼び出しが可能となる。 -この他にCbCからCへ復帰する為のAPIとして、 環境付きgotoという機能がある。 +この他にCbCからCへ復帰する為のAPIとして、 環境付きgotoがある。 これは呼び出し元の関数を次のCodeGearの継続対象として設定するものである。 これはGCCでは内部コードを生成を行う。 LLVM/clangでは\texttt{setjmp}と\texttt{longjmp}を使い実装している。