Lines Matching refs:task

57   data->set_task(task());
71 // Run a task; returns when the task is done, or the workers yield,
72 // or the task is aborted.
73 // A task that has been yielded can be continued via this interface
74 // by using the same task repeatedly as the argument to the call.
76 // continuation information used by workers to continue the task
77 // from its last yield point. Thus, a completed task will return
82 Each gang is working on a task at a certain time.
84 have finished their quota of work. Until this task has
85 been completed, the workers are bound to that task.
86 Once the task has been completed, the gang unbounds
87 itself from the task.
91 first is used to initiate a new task and bind it
93 already bound task that has yielded. Upon completion
99 Overseer invokes run_task(*task).
103 Else, create a new binding of this gang to the given task
107 and do the task]
109 all work is completed or the task has yielded
115 Overseer invokes continue_task(*task),
117 Check that task is the same as current binding
141 assert(task() == NULL, "Gang currently tied to a task");
142 assert(new_task != NULL, "Null task");
143 // Bind task to gang
171 // Wait for task to complete or yield
185 reset(); // for next task; gang<->task binding released
208 assert(task() != NULL && task() == gang_task, "Incorrect usage");
222 _task = NULL; // unbind gang from task
226 assert(task() != NULL, "Inconsistency; should have task binding");
273 assert(task() != NULL, "Inconsistency; should have task binding");
328 if (data.task() != NULL && data.sequence_number() != previous_sequence_number) {
344 GCIdMark gc_id_mark(data.task()->gc_id());
345 data.task()->work(id); // This might include yielding
349 // Update status of task based on whether all workers have
351 assert(data.task() == yf_gang()->task(), "Confused task binding");