# HG changeset patch # User anatofuz # Date 1588759967 -32400 # Node ID 4c753956a272e9495a6cc07d1258a427bb8b02a1 # Parent 7bba4d91db3b0e90251e79ab97d21747b6ef9be5 ... diff -r 7bba4d91db3b -r 4c753956a272 paper/anatofuz-sigos.md --- a/paper/anatofuz-sigos.md Wed May 06 19:00:13 2020 +0900 +++ b/paper/anatofuz-sigos.md Wed May 06 19:12:47 2020 +0900 @@ -251,7 +251,9 @@ さらに、 `for`ループをCodeGearに分割することを考えるとループ中にループのindexを利用している場合は、 そのindexも次の継続に渡さなければならない。 このためindexを使用していないCodeGearでも継続の引数としてindexを受け取り、 実際にindexを利用するCodeGearに伝搬させる必要がある。 -これらの問題を解決する為には、 計算の途中途中のDataGearに型を与え、 どの継続でDataGearの意味が変わるかを追求する必要がある。 +これらの問題を解決する為には、 APIを分割したCodeGearそれぞれのDataGearに型を与え、 どの継続でDataGearの意味が変わるかを追求する必要がある。 +APIを分割して作成したCodeGearのDataGearは、 現在各APIに対応した一つの巨大な構造体に隠蔽されている。 +巨大な構造体で管理するのではなく、 構造体で次のCodeGearの状態に影響を与える要素を適宜組み合わせたDataGearを作る必要がある。 # CbCを用いた部分的なxv6の書き換え diff -r 7bba4d91db3b -r 4c753956a272 paper/anatofuz-sigos.pdf Binary file paper/anatofuz-sigos.pdf has changed diff -r 7bba4d91db3b -r 4c753956a272 paper/anatofuz-sigos.tex --- a/paper/anatofuz-sigos.tex Wed May 06 19:00:13 2020 +0900 +++ b/paper/anatofuz-sigos.tex Wed May 06 19:12:47 2020 +0900 @@ -357,7 +357,9 @@ さらに、 \texttt{for}ループをCodeGearに分割することを考えるとループ中にループのindexを利用している場合は、 そのindexも次の継続に渡さなければならない。 このためindexを使用していないCodeGearでも継続の引数としてindexを受け取り、 実際にindexを利用するCodeGearに伝搬させる必要がある。 -これらの問題を解決する為には、 計算の途中途中のDataGearに型を与え、 どの継続でDataGearの意味が変わるかを追求する必要がある。 +これらの問題を解決する為には、 APIを分割したCodeGearそれぞれのDataGearに型を与え、 どの継続でDataGearの意味が変わるかを追求する必要がある。 +APIを分割して作成したCodeGearのDataGearは、 現在各APIに対応した一つの巨大な構造体に隠蔽されている。 +巨大な構造体で管理するのではなく、 構造体で次のCodeGearの状態に影響を与える要素を適宜組み合わせたDataGearを作る必要がある。 \section{CbCを用いた部分的なxv6の書き換え}