# HG changeset patch # User Tatsuki IHA # Date 1514269182 -32400 # Node ID a4d94c5912464073f0d5492fa59d646db8111eac # Parent ac244346c85df1e286f21b3ce95171d2c113c708 Replace "goto meta" for TaskManagerImpl diff -r ac244346c85d -r a4d94c591246 src/parallel_execution/TaskManagerImpl.cbc --- a/src/parallel_execution/TaskManagerImpl.cbc Mon Dec 25 18:10:56 2017 +0900 +++ b/src/parallel_execution/TaskManagerImpl.cbc Tue Dec 26 15:19:42 2017 +0900 @@ -103,15 +103,13 @@ } __code spawnTasksTaskManagerImpl5(struct TaskManagerImpl* taskManagerImpl, struct Context* task, struct TaskManager* taskManager) { - taskManager->task = task; - taskManager->next = C_spawnTasksTaskManagerImpl3; - goto meta(context, C_spawnTaskManagerImpl); + goto taskManager->spawn(task, spawnTasksTaskManagerImpl3); } __code spawnTasksTaskManagerImpl5_stub(struct Context* context) { TaskManagerImpl* taskManagerImpl = (TaskManagerImpl*)GearImpl(context, TaskManager, taskManager); Context* task = (struct Context*)Gearef(context, Queue)->data; - TaskManager* taskManager = Gearef(context, TaskManager); + TaskManager* taskManager = &Gearef(context, TaskManager)->taskManager->TaskManager; goto spawnTasksTaskManagerImpl5(context, taskManagerImpl, task, taskManager); } @@ -154,7 +152,7 @@ struct Iterator* iterator = task->iterator; goto iterator->exec(task, taskManager->cpu - taskManager->gpu, next(...)); } - goto meta(context, C_taskSend); + goto taskSend(); } pthread_mutex_unlock(&taskManager->mutex); goto next(...); @@ -178,18 +176,10 @@ goto queue->put(task, next(...)); } -__code taskSend_stub(struct Context* context) { - TaskManagerImpl* taskManager = (TaskManagerImpl*)GearImpl(context, TaskManager, taskManager); - goto taskSend(context, - taskManager, - Gearef(context, TaskManager)->task, - Gearef(context, TaskManager)->next); -} - __code shutdownTaskManagerImpl(struct TaskManagerImpl* taskManager, __code next(...)) { if (taskManager->taskCount != 0) { usleep(1000); - goto meta(context, C_shutdownTaskManagerImpl); + goto shutdownTaskManagerImpl(); } int i = taskManager->loopCounter->i; if (i < taskManager->numWorker) { @@ -198,12 +188,12 @@ } taskManager->loopCounter->i = 0; - goto meta(context, next); + goto next(...); } __code shutdownTaskManagerImpl1(struct TaskManagerImpl* taskManager) { int i = taskManager->loopCounter->i; pthread_join(taskManager->workers[i]->thread, NULL); taskManager->loopCounter->i++; - goto meta(context, C_shutdownTaskManagerImpl); + goto shutdownTaskManagerImpl(); }