955 bool same_arena = s->my_arena ==
my_arena;
956 size_t index1 = s->my_arena_index;
961 #if __TBB_USE_OPTIONAL_RTTI 969 internal::delegated_function< graph_funct, void >* deleg_funct =
970 dynamic_cast< internal::delegated_function< graph_funct, void>*
>(&
d);
975 (internal::forward< graph_funct >(deleg_funct->my_func)), 0);
979 concurrent_monitor::thread_context waiter;
980 #if __TBB_TASK_GROUP_CONTEXT 987 root.prefix().ref_count = 2;
1002 s->local_wait_for_all(root, NULL);
1003 #if TBB_USE_EXCEPTIONS 1016 #if TBB_USE_EXCEPTIONS 1019 TbbRethrowException(pe);
1022 #if __TBB_USE_OPTIONAL_RTTI 1028 context_guard_helper<
false> context_guard;
1030 #if TBB_USE_EXCEPTIONS 1036 #if TBB_USE_EXCEPTIONS 1039 context_guard.restore_default();
1044 exception_container.register_pending_exception();
1046 TbbRethrowException(exception_container.my_exception);
size_t occupy_free_slot(generic_scheduler &s)
Tries to occupy a slot in the arena. On success, returns the slot index; if no slot is available...
static generic_scheduler * local_scheduler_weak()
void const char const char int ITT_FORMAT __itt_group_sync s
internal::arena * my_arena
NULL if not currently initialized.
A functor that spawns a task.
void notify_one()
Notify one thread about the event.
bool commit_wait(thread_context &thr)
Commit wait if event count has not changed; otherwise, cancel wait.
static internal::allocate_root_proxy allocate_root()
Returns proxy for overloaded new that allocates a root task.
void enqueue_task(task &, intptr_t, FastRandom &)
enqueue a task into starvation-resistance queue
task_group_context * my_context
default context of the arena
intptr_t my_version_and_traits
Special settings.
#define __TBB_CONTEXT_ARG1(context)
void prepare_wait(thread_context &thr, uintptr_t ctx=0)
prepare wait by inserting 'thr' into the wait queue
void cancel_wait(thread_context &thr)
Cancel the wait. Removes the thread from the wait queue if not removed yet.
internal::tbb_exception_ptr exception_container_type
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
static const size_t out_of_arena
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d
void __TBB_EXPORTED_METHOD internal_enqueue(task &, intptr_t) const
concurrent_monitor my_exit_monitors
Waiting object for master threads that cannot join the arena.
T __TBB_load_with_acquire(const volatile T &location)
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event ITT_FORMAT __itt_group_mark d void const wchar_t const wchar_t int ITT_FORMAT __itt_group_sync __itt_group_fsync x void const wchar_t int const wchar_t int int ITT_FORMAT __itt_group_sync __itt_group_fsync x void ITT_FORMAT __itt_group_sync __itt_group_fsync p void ITT_FORMAT __itt_group_sync __itt_group_fsync p void size_t ITT_FORMAT lu no args __itt_obj_prop_t __itt_obj_state_t ITT_FORMAT d const char ITT_FORMAT s __itt_frame ITT_FORMAT p const char const char ITT_FORMAT s __itt_counter ITT_FORMAT p __itt_counter unsigned long long ITT_FORMAT lu const wchar_t ITT_FORMAT S __itt_mark_type const wchar_t ITT_FORMAT S __itt_mark_type const char ITT_FORMAT s __itt_mark_type ITT_FORMAT d __itt_caller ITT_FORMAT p __itt_caller ITT_FORMAT p no args const __itt_domain __itt_clock_domain unsigned long long __itt_id ITT_FORMAT lu const __itt_domain __itt_clock_domain unsigned long long __itt_id __itt_id void ITT_FORMAT p const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_clock_domain unsigned long long __itt_id __itt_string_handle __itt_scope scope
#define __TBB_CONTEXT_ARG(arg1, context)