66 static bool ITT_Present;
67 static bool ITT_InitializationDone;
70 #if !(_WIN32||_WIN64) || __TBB_SOURCE_DIRECTLY_INCLUDED 80 #if __TBB_OLD_PRIMES_RNG 84 static const unsigned Primes[] = {
85 0x9e3779b1, 0xffe6cc59, 0x2109f6dd, 0x43977ab5,
86 0xba5703f5, 0xb495a877, 0xe1626741, 0x79695e6b,
87 0xbc98c09f, 0xd5bee2b3, 0x287488f9, 0x3af18231,
88 0x9677cd4d, 0xbe3a6929, 0xadc6a877, 0xdcf0674b,
89 0xbe4d6fe9, 0x5f15e201, 0x99afc3fd, 0xf3f16801,
90 0xe222cfff, 0x24ba5fdb, 0x0620452d, 0x79f149e3,
91 0xc8b93f49, 0x972702cd, 0xb07dd827, 0x6c97d5ed,
92 0x085a3d61, 0x46eb5ea7, 0x3d9910ed, 0x2e687b5b,
93 0x29609227, 0x6eb081f1, 0x0954c4e1, 0x9d114db9,
94 0x542acfa9, 0xb3e6bd7b, 0x0742d917, 0xe9f3ffa7,
95 0x54581edb, 0xf2480f45, 0x0bb9288f, 0xef1affc7,
96 0x85fa0ca7, 0x3ccc14db, 0xe6baf34b, 0x343377f7,
97 0x5ca19031, 0xe6d9293b, 0xf0a9f391, 0x5d2e980b,
98 0xfc411073, 0xc3749363, 0xb892d829, 0x3549366b,
99 0x629750ad, 0xb98294e5, 0x892d9483, 0xc235baf3,
100 0x3d2402a3, 0x6bdef3c9, 0xbec333cd, 0x40c9520f
111 unsigned GetPrime (
unsigned seed ) {
112 return Primes[seed%(
sizeof(Primes)/
sizeof(Primes[0]))];
114 #endif //__TBB_OLD_PRIMES_RNG 127 __TBB_ASSERT(k>=0,
"removed __TBB_InitOnce ref that was not added?");
148 struct resource_string {
150 __itt_string_handle *itt_str_handle;
156 #define TBB_STRING_RESOURCE( index_name, str ) { str, NULL }, 157 static resource_string strings_for_itt[] = {
159 {
"num_resource_strings", NULL }
161 #undef TBB_STRING_RESOURCE 163 static __itt_string_handle *ITT_get_string_handle(
int idx) {
164 __TBB_ASSERT( idx >= 0 && idx < NUM_STRINGS,
"string handle out of valid range");
165 return (idx >= 0 && idx < NUM_STRINGS) ? strings_for_itt[idx].itt_str_handle : NULL;
168 static void ITT_init_domains() {
177 static void ITT_init_strings() {
178 for (
int i = 0; i < NUM_STRINGS; ++i ) {
187 static void ITT_init() {
195 if ( !ITT_InitializationDone ) {
197 if (ITT_Present) ITT_init();
198 ITT_InitializationDone =
true;
199 ITT_SYNC_CREATE(&market::theMarketMutex, SyncType_GlobalLock, SyncObj_SchedulerInitialization);
206 void ITT_DoOneTimeInitialization() {
218 if( !__TBB_InitOnce::InitializationDone ) {
222 bool itt_present =
false;
225 itt_present = ITT_Present;
235 __TBB_InitOnce::InitializationDone =
true;
240 #if (_WIN32||_WIN64) && !__TBB_SOURCE_DIRECTLY_INCLUDED 241 extern "C" bool WINAPI DllMain( HANDLE , DWORD reason, LPVOID lpvReserved ) {
244 case DLL_PROCESS_ATTACH:
247 case DLL_PROCESS_DETACH:
250 if( lpvReserved==NULL )
260 case DLL_THREAD_DETACH:
275 ITT_NOTIFY(sync_acquired, const_cast<void*>(src));
284 case 2:
ITT_NOTIFY(sync_acquired, ptr);
break;
293 const __itt_id itt_null_id = {0, 0, 0};
296 if (tbb_domains[idx] == NULL) {
297 ITT_DoOneTimeInitialization();
299 return tbb_domains[idx];
302 static inline void itt_id_make(__itt_id *
id,
void*
addr,
unsigned long long extra) {
306 static inline void itt_id_create(
const __itt_domain *
domain, __itt_id
id) {
307 ITTNOTIFY_VOID_D1(id_create, domain,
id);
312 if ( __itt_domain *
d = get_itt_domain( domain ) ) {
313 __itt_id group_id = itt_null_id;
314 __itt_id parent_id = itt_null_id;
315 itt_id_make( &group_id, group, group_extra );
316 itt_id_create(
d, group_id );
318 itt_id_make( &parent_id, parent, parent_extra );
320 __itt_string_handle *n = ITT_get_string_handle(name_index);
321 ITTNOTIFY_VOID_D3(
task_group,
d, group_id, parent_id, n);
327 if ( __itt_domain *
d = get_itt_domain( domain ) ) {
328 __itt_id
id = itt_null_id;
329 itt_id_make( &
id, addr, addr_extra );
330 __itt_string_handle *k = ITT_get_string_handle(key);
331 size_t value_length = strlen( value );
333 ITTNOTIFY_VOID_D4(metadata_str_addA,
d,
id, k, value, value_length);
335 ITTNOTIFY_VOID_D4(metadata_str_add,
d,
id, k, value, value_length);
342 if ( __itt_domain *
d = get_itt_domain( domain ) ) {
343 __itt_id id0 = itt_null_id;
344 __itt_id id1 = itt_null_id;
345 itt_id_make( &id0, addr0, addr0_extra );
346 itt_id_make( &id1, addr1, addr1_extra );
352 void *parent,
unsigned long long parent_extra,
string_index name_index ) {
353 if ( __itt_domain *
d = get_itt_domain( domain ) ) {
354 __itt_id task_id = itt_null_id;
355 __itt_id parent_id = itt_null_id;
357 itt_id_make( &task_id, task, task_extra );
360 itt_id_make( &parent_id, parent, parent_extra );
362 __itt_string_handle *n = ITT_get_string_handle(name_index);
363 ITTNOTIFY_VOID_D3(
task_begin,
d, task_id, parent_id, n );
368 if ( __itt_domain *
d = get_itt_domain( domain ) ) {
374 void *parent,
unsigned long long parent_extra,
string_index ) {
375 if ( __itt_domain *
d = get_itt_domain( domain ) ) {
376 __itt_id region_id = itt_null_id;
377 __itt_id parent_id = itt_null_id;
378 itt_id_make( ®ion_id, region, region_extra );
380 itt_id_make( &parent_id, parent, parent_extra );
382 ITTNOTIFY_VOID_D3(
region_begin,
d, region_id, parent_id, NULL );
387 if ( __itt_domain *
d = get_itt_domain( domain ) ) {
388 __itt_id region_id = itt_null_id;
389 itt_id_make( ®ion_id, region, region_extra );
390 ITTNOTIFY_VOID_D1( region_end,
d, region_id );
394 #else // DO_ITT_NOTIFY 415 #endif // DO_ITT_NOTIFY 419 void* result = *
static_cast<void*const*
>(src);
436 virtual size_t default_value()
const = 0;
442 return my_head? my_active_value : default_value();
463 return default_value();
468 return workers?
min(workers+1, my_active_value): my_active_value;
472 return my_head? my_active_value : 0;
481 #if __TBB_WIN8UI_SUPPORT 482 __TBB_ASSERT(
false,
"For Windows Store* apps we must not set stack size" );
498 namespace interface9 {
500 using namespace internal;
535 new_active = c->
my_head->my_value;
536 else if ( c->
my_head->my_next )
537 new_active = c->
my_head->my_next->my_value;
540 if ( curr ==
this ) {
547 new_active = curr->my_value;
553 if ( new_active != old_active ) {
friend void ITT_DoUnsafeOneTimeInitialization()
void __TBB_EXPORTED_FUNC itt_task_end_v7(itt_domain_enum domain)
static bool is_speculation_enabled
static void acquire_resources()
Create key for thread-local storage and initialize RML.
static unsigned DefaultNumberOfThreads
Caches the maximal level of parallelism supported by the hardware.
atomic< global_control * > my_head
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 * domain
void __TBB_EXPORTED_FUNC itt_store_pointer_with_release_v3(void *dst, void *src)
__TBB_atomic __TBB_Flag __TBB_atomic_flag
T __TBB_load_with_acquire(const volatile T &location)
Work stealing task scheduler.
static bool initialization_done()
void __TBB_EXPORTED_FUNC itt_task_begin_v7(itt_domain_enum domain, void *task, unsigned long long task_extra, void *parent, unsigned long long parent_extra, string_index name_index)
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
static basic_tls< uintptr_t > theTLS
TLS for scheduler instances associated with individual threads.
__itt_string_handle *ITTAPI __itt_string_handle_createA(const char *name)
Create a string handle. Create and return handle value that can be associated with a string...
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 task_end
#define ITT_SYNC_CREATE(obj, type, name)
static void initialize_rml_factory()
__itt_relation
The kind of relation between two instances is specified by the enumerated type __itt_relation. Relations between instances can be added with an API call. The relation API uses instance IDs. Relations can be added before or after the actual instances are created and persist independently of the instances. This is the motivation for having different lifetimes for instance IDs and the actual instances.
#define __itt_domain_create
void __TBB_EXPORTED_FUNC call_itt_notify_v5(int t, void *ptr)
void suppress_unused_warning(const T1 &)
Utility template function to prevent "unused" warnings by various compilers.
friend void DoOneTimeInitializations()
Performs thread-safe lazy one-time general TBB initialization.
static control_storage * controls[]
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
virtual void apply_active() const
int __TBB_load_ittnotify()
T min(const T &val1, const T &val2)
Utility template function returning lesser of the two values.
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 relation
virtual bool is_first_arg_preferred(size_t a, size_t b) const __TBB_override
Represents acquisition of a mutex.
static void terminate_auto_initialized_scheduler()
Undo automatic initialization if necessary; call when a thread exits.
static rml::tbb_factory theRMLServerFactory
static atomic< int > count
Counter of references to global shared resources such as TLS.
void PrintExtraVersionInfo(const char *category, const char *format,...)
Prints arbitrary extra TBB version information on stderr.
static size_t active_value(parameter p)
virtual void apply_active() const __TBB_override
void *__TBB_EXPORTED_FUNC itt_load_pointer_with_acquire_v3(const void *src)
virtual size_t active_value() const
const size_t ThreadStackSize
virtual void apply_active() const __TBB_override
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 region_begin
void __TBB_EXPORTED_FUNC itt_region_begin_v9(itt_domain_enum domain, void *region, unsigned long long region_extra, void *parent, unsigned long long parent_extra, string_index name_index)
#define __itt_string_handle_create
static void add_ref()
Add reference to resources. If first reference added, acquire the resources.
static const char _pad[NFS_MaxLineSize - sizeof(int)]
Padding in order to prevent false sharing.
T max(const T &val1, const T &val2)
Utility template function returning greater of the two values.
static market * theMarket
Currently active global market.
void PrintVersion()
Prints TBB version information on stderr.
scheduler_mutex_type global_market_mutex_type
void __TBB_EXPORTED_FUNC itt_relation_add_v7(itt_domain_enum domain, void *addr0, unsigned long long addr0_extra, itt_relation relation, void *addr1, unsigned long long addr1_extra)
static unsigned app_parallelism_limit()
Reports active parallelism level according to user's settings.
void initialize_cache_aligned_allocator()
Defined in cache_aligned_allocator.cpp.
#define ITT_SYNC_RENAME(obj, name)
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 sync_cancel
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 relation_add
#define _T(string_literal)
Standard Windows style macro to markup the string literals.
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 value
void __TBB_EXPORTED_METHOD internal_create()
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 parent
static void print_version_info()
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 sync_releasing
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 * key
virtual bool is_first_arg_preferred(size_t a, size_t b) const
#define __TBB_ASSERT_RELEASE(predicate, message)
virtual size_t active_value() const __TBB_override
static bool InitializationDone
Specifies if the one-time initializations has been done.
#define ITT_NOTIFY(name, obj)
Class that supports TBB initialization.
void __TBB_EXPORTED_FUNC itt_region_end_v9(itt_domain_enum domain, void *region, unsigned long long region_extra)
size_t active_value_if_present() const
const size_t NFS_MaxLineSize
Compile-time constant that is upper bound on cache line/sector size.
static allowed_parallelism_control allowed_parallelism_ctl
unsigned GetPrime(unsigned seed)
static unsigned default_num_threads()
Pads type T to fill out to a multiple of cache line size.
static bool is_rethrow_broken
virtual size_t default_value() const __TBB_override
Base class for user-defined tasks.
void Scheduler_OneTimeInitialization(bool itt_present)
Defined in scheduler.cpp.
ITT_INLINE __itt_id ITTAPI __itt_id_make(void *addr, unsigned long long extra) ITT_INLINE_ATTRIBUTE
A convenience function is provided to create an ID without domain control.
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 int
static __TBB_InitOnce __TBB_InitOnceHiddenInstance
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 task_begin
static void release_resources()
Destroy the thread-local storage key and deinitialize RML.
char tchar
Unicode support.
void *__TBB_EXPORTED_FUNC itt_load_pointer_v3(const void *src)
static unsigned max_num_workers()
static stack_size_control stack_size_ctl
A lock that occupies a single byte.
static bool GetBoolEnvironmentVariable(const char *name)
void itt_set_sync_name_v3(void *obj, const tchar *name)
static global_market_mutex_type theMarketMutex
Mutex guarding creation/destruction of theMarket, insertions/deletions in my_arenas, and cancellation propagation.
virtual size_t default_value() const =0
Identifiers declared inside namespace internal should never be used directly by client code...
void __TBB_EXPORTED_METHOD internal_destroy()
static void remove_ref()
Remove reference to resources. If last reference removed, release the resources.
void const char const char int ITT_FORMAT __itt_group_sync x void const char * name
void __TBB_EXPORTED_FUNC itt_metadata_str_add_v7(itt_domain_enum domain, void *addr, unsigned long long addr_extra, string_index key, const char *value)
void __TBB_store_with_release(volatile T &location, V value)
static void set_active_num_workers(unsigned w)
Set number of active workers.
#define ITT_FINI_ITTLIB()
static __TBB_atomic_flag InitializationLock
Global initialization lock.
virtual size_t default_value() const __TBB_override
static bool UsePrivateRML
void __TBB_EXPORTED_FUNC itt_make_task_group_v7(itt_domain_enum domain, void *group, unsigned long long group_extra, void *parent, unsigned long long parent_extra, string_index name_index)