# HG changeset patch # User Tatsuki IHA # Date 1492595761 -32400 # Node ID e46d9910640bdd7952f3fb6f3a5fabb11afeb2aa # Parent 69cdda5364874663ba37d82fafac94223175b5e7# Parent 4df30cbfb04937ca9aa0f617905f930a86a1fa3b Merge diff -r 4df30cbfb049 -r e46d9910640b src/parallel_execution/Todo --- a/src/parallel_execution/Todo Wed Apr 19 18:41:57 2017 +0900 +++ b/src/parallel_execution/Todo Wed Apr 19 18:56:01 2017 +0900 @@ -1,3 +1,26 @@ +Fri Apr 14 18:44:09 JST 2017 + struct B { + A a; + ..... + } + struct A { + __code init(..., __code next(A a, ...)); + } + par goto A->init(a); + // meta level + task->code = C_init_A; + task->data[idg] = ...; + task->data[idg + 1] = ...; + task->data[odg] = ...; + task->next = C_writeToa; + goto meta(context, context->TaskManager->spawn) + + // lambda version? + par goto A->init(\A -> a = A) + + // meta level + par goto A->init(next = \A -> a = A) + Wed Mar 1 18:25:36 JST 2017 parallel_executtion/test/ を .cbc に書き直す diff -r 4df30cbfb049 -r e46d9910640b src/parallel_execution/generate_stub.pl --- a/src/parallel_execution/generate_stub.pl Wed Apr 19 18:41:57 2017 +0900 +++ b/src/parallel_execution/generate_stub.pl Wed Apr 19 18:56:01 2017 +0900 @@ -248,6 +248,8 @@ # generate CodeGear header with new arguments print $fd "__code $codeGearName($newArgs)$tail\n"; if ($outputVar{$codeGearName} ne "") { + # output data var can be use before write + # it should be initialze by gearef print $fd $outputVar{$codeGearName}; } next;