diff src/parallel_execution/dependency.c @ 117:c9ab10847fc3

Define dependency Task create function
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Tue, 19 Jul 2016 02:18:31 +0900
parents 69fbd905d750
children 4df53a60e59a
line wrap: on
line diff
--- a/src/parallel_execution/dependency.c	Tue Jul 12 16:26:05 2016 +0900
+++ b/src/parallel_execution/dependency.c	Tue Jul 19 02:18:31 2016 +0900
@@ -7,7 +7,7 @@
     goto (context->code[next])(context);
 }
 
-__code waitFor1(struct Context* context, struct Task* master, struct Task* slave, struct Element* element) {
+__code waitFor1(struct Context* context, struct Task* master, struct Task* slave, struct Element* element, struct Node* node) {
     element->data = (union Data *)slave;
     // enqueue waitMe
     //goto meta_waitFor(context, master->waitMe, PutQueue1);
@@ -36,10 +36,7 @@
 }
 
 __code spawnTask(struct Context* context, struct Task* task, struct Element* element, struct Queue* activeQueue, struct Queue* waitQueue) {
-    element->data = (union Data *)task;
-    goto meta_spawnTask(context, activeQueue, PutQueue1);
-    /*
-    if (task->waitI->count == task->idsCount) {
+    if (task->idsCount == 0) {
         //printf("put ActiveQueue\n");
         // enqueue activeQueue
         goto meta_spawnTask(context, activeQueue, PutQueue1);
@@ -48,7 +45,6 @@
         // enqueue waitQueue
         goto meta_spawnTask(context, waitQueue, PutQueue1);
     }
-    */
 }
 
 __code spawnTask_stub(struct Context* context) {
@@ -59,20 +55,10 @@
             &context->data[WaitQueue]->queue);
 }
 
-__code taskA(struct Context* context, struct Integer* input1, struct Integer* input2) {
-    allocator(context);
-    goto meta(context, calcPlus);
-}
-
 __code add(struct Context* context, struct Integer* input1, struct Integer* input2, struct Integer* output) {
     output->value = input1->value + input2->value;
 }
 
-__code taskB(struct Context* context) {
-    allocator(context);
-    goto meta(context, context->next);
-}
-
 __code mult(struct Context* context, struct Integer* input1, struct Integer* input2, struct Integer* output) {
     output->value = input1->value * input2->value;
 }