Mercurial > hg > Papers > 2018 > mitsuki-prosym
view Paper/src/parGotoCreateTask.c @ 2:21b64e37e36d default tip
add
author | mir3636 |
---|---|
date | Sat, 01 Dec 2018 18:57:18 +0900 |
parents | |
children |
line wrap: on
line source
__code code1(struct Context *context,struct Integer* integer1, struct Integer* integer2, struct Integer* output) { struct Element* element; context->task = NEW(struct Context); initContext(context->task); context->task->next = C_add; context->task->idgCount = 2; context->task->idg = context->task->dataNum; context->task->maxIdg = context->task->idg + 2; context->task->odg = context->task->maxIdg; context->task->maxOdg = context->task->odg + 1; GET_META(integer1)->wait = createSynchronizedQueue(context); GET_META(integer2)->wait = createSynchronizedQueue(context); GET_META(output)->wait = createSynchronizedQueue(context); context->task->data[context->task->idg+0] = (union Data*)integer1; context->task->data[context->task->idg+1] = (union Data*)integer2; context->task->data[context->task->odg+0] = (union Data*)output; element = &ALLOCATE(context, Element)->Element; element->data = (union Data*)context->task; element->next = context->taskList; context->taskList = element; Gearef(context, TaskManager)->taskList = context->taskList; Gearef(context, TaskManager)->next1 = C_code2; goto meta(context, C_code2); } __code code1_stub(struct Context* context) { Integer* integer1 = Gearef(context, Integer); Integer* integer2 = Gearef(context, Integer); Integer* output = Gearef(context, Integer); goto code1(context, integer1, integer2, output); }