Lines Matching refs:ed

65 inline d1::task* suspend_point_type::resume_task::execute(d1::execution_data& ed) {  in execute()  argument
66 execution_data_ext& ed_ext = static_cast<execution_data_ext&>(ed); in execute()
126 execution_data_ext& ed, mail_inbox& inbox, isolation_type isolation, bool critical_allowed) in get_inbox_or_critical_task() argument
130 d1::task* result = get_critical_task(nullptr, ed, isolation, critical_allowed); in get_inbox_or_critical_task()
134 result = get_mailbox_task(inbox, ed, isolation); in get_inbox_or_critical_task()
147 execution_data_ext& ed, arena& a, task_stream<front_accessor>& stream, unsigned& hint, in get_stream_or_critical_task() argument
152 d1::task* result = get_critical_task(nullptr, ed, isolation, critical_allowed); in get_stream_or_critical_task()
159 execution_data_ext& ed, arena& a, unsigned arena_index, FastRandom& random, in steal_or_get_critical() argument
162 if (d1::task* t = a.steal_task(arena_index, random, ed, isolation)) { in steal_or_get_critical()
163 ed.context = task_accessor::context(*t); in steal_or_get_critical()
164 ed.isolation = task_accessor::isolation(*t); in steal_or_get_critical()
165 return get_critical_task(t, ed, isolation, critical_allowed); in steal_or_get_critical()
172 thread_data& tls, execution_data_ext& ed, Waiter& waiter, isolation_type isolation, in receive_or_steal_task() argument
207 else if ((t = get_inbox_or_critical_task(ed, inbox, isolation, critical_allowed))) { in receive_or_steal_task()
210 …else if ((t = get_stream_or_critical_task(ed, a, resume_stream, resume_hint, isolation, critical_a… in receive_or_steal_task()
214 …&& (t = get_stream_or_critical_task(ed, a, fifo_stream, fifo_hint, isolation, critical_allowed))) { in receive_or_steal_task()
218 … && (t = steal_or_get_critical(ed, a, arena_index, tls.my_random, isolation, critical_allowed))) { in receive_or_steal_task()
222 t = get_critical_task(t, ed, isolation, critical_allowed); in receive_or_steal_task()
226 ed.context = task_accessor::context(*t); in receive_or_steal_task()
227 ed.isolation = task_accessor::isolation(*t); in receive_or_steal_task()
275 execution_data_ext& ed = m_execute_data_ext; in local_wait_for_all() local
276 ed.context = t ? task_accessor::context(*t) : nullptr; in local_wait_for_all()
277 ed.original_slot = m_thread_data->my_arena_index; in local_wait_for_all()
278 ed.affinity_slot = d1::no_slot; in local_wait_for_all()
279 ed.task_disp = this; in local_wait_for_all()
280 ed.wait_ctx = waiter.wait_ctx(); in local_wait_for_all()
285 t = get_critical_task(t, ed, isolation, critical_allowed); in local_wait_for_all()
298 context_guard.set_ctx(ed.context); in local_wait_for_all()
303 assert_pointer_valid</*alignment = */alignof(void*)>(ed.context); in local_wait_for_all()
304 __TBB_ASSERT(ed.context->my_state == d1::task_group_context::state::bound || in local_wait_for_all()
305 ed.context->my_state == d1::task_group_context::state::isolated, nullptr); in local_wait_for_all()
307 …k_accessor::is_resume_task(*t) || isolation == no_isolation || isolation == ed.isolation, nullptr); in local_wait_for_all()
315 void* itt_caller = ed.context->my_itt_caller; in local_wait_for_all()
320 if (ed.context->is_group_execution_cancelled()) { in local_wait_for_all()
321 t = t->cancel(ed); in local_wait_for_all()
323 t = t->execute(ed); in local_wait_for_all()
330 ed.affinity_slot = d1::no_slot; in local_wait_for_all()
332 ed.original_slot = m_thread_data->my_arena_index; in local_wait_for_all()
333 t = get_critical_task(t, ed, isolation, critical_allowed); in local_wait_for_all()
344 if (t || (slot.is_task_pool_published() && (t = slot.get_task(ed, isolation)))) { in local_wait_for_all()
345 __TBB_ASSERT(ed.original_slot == m_thread_data->my_arena_index, nullptr); in local_wait_for_all()
346 ed.context = task_accessor::context(*t); in local_wait_for_all()
347 ed.isolation = task_accessor::isolation(*t); in local_wait_for_all()
352 … *m_thread_data, ed, waiter, isolation, dl_guard.old_properties.fifo_tasks_allowed, in local_wait_for_all()
361 if (ed.context->cancel_group_execution()) { in local_wait_for_all()
363ed.context->my_exception.store(tbb_exception_ptr::allocate(), std::memory_order_release); in local_wait_for_all()
396 inline d1::task* task_dispatcher::get_critical_task(d1::task* t, execution_data_ext& ed, isolation_… in get_critical_task() argument
415 assert_pointer_valid</*alignment = */alignof(void*)>(ed.context); in get_critical_task()
416 r1::spawn(*t, *ed.context); in get_critical_task()
418 ed.context = task_accessor::context(*crit_t); in get_critical_task()
419 ed.isolation = task_accessor::isolation(*crit_t); in get_critical_task()
441 inline d1::task* task_dispatcher::get_mailbox_task(mail_inbox& my_inbox, execution_data_ext& ed, is… in get_mailbox_task() argument
444 ed.original_slot = (unsigned short)(-2); in get_mailbox_task()
445 ed.affinity_slot = ed.task_disp->m_thread_data->my_arena_index; in get_mailbox_task()
449 tp->allocator.delete_object(tp, ed); in get_mailbox_task()