Mercurial > hg > Members > innparusu > Gears
diff src/parallel_execution/context.c @ 138:337fdbffa693 default tip
Merge
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 01 Oct 2016 00:23:35 +0900 |
parents | 36ac17d37be4 77e60b6cdace |
children |
line wrap: on
line diff
--- a/src/parallel_execution/context.c Thu Sep 29 22:22:36 2016 +0900 +++ b/src/parallel_execution/context.c Sat Oct 01 00:23:35 2016 +0900 @@ -55,13 +55,29 @@ extern __code createTask2_stub(struct Context*); extern __code createTask3_stub(struct Context*); extern __code createTask4_stub(struct Context*); +extern __code createTask5_stub(struct Context*); +extern __code createTask6_stub(struct Context*); +extern __code poll1_stub(struct Context*); +extern __code poll2_stub(struct Context*); +/* extern __code createTask3_stub(struct Context*); */ +/* extern __code createTask4_stub(struct Context*); */ extern __code putQueue1_stub(struct Context*); extern __code putQueue2_stub(struct Context*); extern __code putQueue3_stub(struct Context*); extern __code putQueue4_stub(struct Context*); -extern __code getQueue_stub(struct Context*); +extern __code getTask_stub(struct Context*); +extern __code getQueue1_stub(struct Context*); +extern __code getInputData1_stub(struct Context*); +extern __code getInputData2_stub(struct Context*); +extern __code getOutputData1_stub(struct Context*); +extern __code getOutputData2_stub(struct Context*); +extern __code waitFor_stub(struct Context*); extern __code spawnTask_stub(struct Context*); +extern __code checkTaskFinish1_stub(struct Context*); +extern __code checkTaskFinish2_stub(struct Context*); extern __code twice_stub(struct Context*); +extern __code add_stub(struct Context*); +extern __code mult_stub(struct Context*); extern __code start_time_stub(struct Context*); extern __code end_time_stub(struct Context*); extern __code exit_code(struct Context*); @@ -70,6 +86,7 @@ context->heapLimit = sizeof(union Data)*ALLOCATE_SIZE; context->code = (__code(**) (struct Context*)) NEWN(ALLOCATE_SIZE, void*); context->data = NEWN(ALLOCATE_SIZE, union Data*); + context->mData = NEWN(ALLOCATE_SIZE, union MetaData*); context->heapStart = NEWN(context->heapLimit, char); context->heap = context->heapStart; @@ -124,13 +141,27 @@ context->code[CreateTask2] = createTask2_stub; context->code[CreateTask3] = createTask3_stub; context->code[CreateTask4] = createTask4_stub; + context->code[CreateTask5] = createTask5_stub; + context->code[CreateTask6] = createTask6_stub; + context->code[Poll1] = poll1_stub; + context->code[Poll2] = poll2_stub; context->code[PutQueue1] = putQueue1_stub; context->code[PutQueue2] = putQueue2_stub; context->code[PutQueue3] = putQueue3_stub; context->code[PutQueue4] = putQueue4_stub; - context->code[GetQueue] = getQueue_stub; + context->code[GetTask] = getTask_stub; + context->code[GetQueue1] = getQueue1_stub; + context->code[GetInputData1] = getInputData1_stub; + context->code[GetInputData2] = getInputData2_stub; + context->code[GetOutputData1] = getOutputData1_stub; + context->code[GetOutputData2] = getOutputData2_stub; + context->code[WaitFor] = waitFor_stub; context->code[SpawnTask] = spawnTask_stub; + context->code[CheckTaskFinish1] = checkTaskFinish1_stub; + context->code[CheckTaskFinish2] = checkTaskFinish2_stub; context->code[Twice] = twice_stub; + context->code[Add] = add_stub; + context->code[Mult] = mult_stub; context->code[StartTime] = start_time_stub; context->code[EndTime] = end_time_stub; context->code[Exit] = exit_code; @@ -175,6 +206,7 @@ context->dataNum = Queue; + context->metaDataNum = 0; context->node_stack = stack_init(sizeof(struct Node*), 100); context->code_stack = stack_init(sizeof(enum Code), 100); }