# HG changeset patch # User innparusu # Date 1501584128 -32400 # Node ID 0c113f8e5a3fb0da770315aafd402a372c6374a2 # Parent 99c50356d9178638faf0e3210bbbdf19a15c383f Update todo diff -r 99c50356d917 -r 0c113f8e5a3f src/parallel_execution/Stack.cbc --- a/src/parallel_execution/Stack.cbc Tue Aug 01 18:49:56 2017 +0900 +++ b/src/parallel_execution/Stack.cbc Tue Aug 01 19:42:08 2017 +0900 @@ -6,10 +6,9 @@ __code clear(Impl* stack,__code next(...)); __code push(Impl* stack,Type* data, __code next(...)); __code pop(Impl* stack, __code next(Type* data, ...)); - __code pop2(Impl* stack, Type** data, Type** data1, __code next(Type** data, Type** data1, ...)); + __code pop2(Impl* stack, __code next(Type* data, Type* data1, ...)); __code isEmpty(Impl* stack, __code next(...), __code whenEmpty(...)); - __code get(Impl* stack, Type** data, __code next(...)); - __code get2(Impl* stack,..., __code next(...)); + __code get(Impl* stack, __code next(Type* data, ...)); + __code get2(Impl* stack, __code next(Type* data, Type* data1, ...)); __code next(...); } Stack; - diff -r 99c50356d917 -r 0c113f8e5a3f src/parallel_execution/Todo --- a/src/parallel_execution/Todo Tue Aug 01 18:49:56 2017 +0900 +++ b/src/parallel_execution/Todo Tue Aug 01 19:42:08 2017 +0900 @@ -1,3 +1,23 @@ +Tue Aug 1 19:32:55 JST 2017 + + DataGear の待ち合わせ + DataGear の Commit + + これらは、stubとgoto meta の部分で行う + + どれに対して行うかを実行時あるいはコンパイル時に指定する必要がある + + 一つの解決策は、 typedefのときにannotution してあげる + もう一つの解決策は, Data Gear の allocation 時に指定する + Code Gearのプロトタイプのなかで指定する事も考えられる + + par goto時に渡す continuation で同期をとっても良い, このときにはこのcontinuation を作成するinterfaceを作る必要がある + + 実行時に指定してしまうと、毎回フラグのチェックが必要になる。 + これを abstract model checking を事前に行うことで, static なコードに置き換える事はできる + + 例題としては, chat、dining philosophers, map reduce + Fri Apr 14 18:44:09 JST 2017 struct B { A a;