62 static bool ITT_Present;
66 #if !(_WIN32||_WIN64) || __TBB_SOURCE_DIRECTLY_INCLUDED 76 #if __TBB_OLD_PRIMES_RNG 80 static const unsigned Primes[] = {
81 0x9e3779b1, 0xffe6cc59, 0x2109f6dd, 0x43977ab5,
82 0xba5703f5, 0xb495a877, 0xe1626741, 0x79695e6b,
83 0xbc98c09f, 0xd5bee2b3, 0x287488f9, 0x3af18231,
84 0x9677cd4d, 0xbe3a6929, 0xadc6a877, 0xdcf0674b,
85 0xbe4d6fe9, 0x5f15e201, 0x99afc3fd, 0xf3f16801,
86 0xe222cfff, 0x24ba5fdb, 0x0620452d, 0x79f149e3,
87 0xc8b93f49, 0x972702cd, 0xb07dd827, 0x6c97d5ed,
88 0x085a3d61, 0x46eb5ea7, 0x3d9910ed, 0x2e687b5b,
89 0x29609227, 0x6eb081f1, 0x0954c4e1, 0x9d114db9,
90 0x542acfa9, 0xb3e6bd7b, 0x0742d917, 0xe9f3ffa7,
91 0x54581edb, 0xf2480f45, 0x0bb9288f, 0xef1affc7,
92 0x85fa0ca7, 0x3ccc14db, 0xe6baf34b, 0x343377f7,
93 0x5ca19031, 0xe6d9293b, 0xf0a9f391, 0x5d2e980b,
94 0xfc411073, 0xc3749363, 0xb892d829, 0x3549366b,
95 0x629750ad, 0xb98294e5, 0x892d9483, 0xc235baf3,
96 0x3d2402a3, 0x6bdef3c9, 0xbec333cd, 0x40c9520f
107 unsigned GetPrime (
unsigned seed ) {
108 return Primes[seed%(
sizeof(Primes)/
sizeof(Primes[0]))];
110 #endif //__TBB_OLD_PRIMES_RNG 123 __TBB_ASSERT(k>=0,
"removed __TBB_InitOnce ref that was not added?");
144 struct resource_string {
146 __itt_string_handle *itt_str_handle;
152 #define TBB_STRING_RESOURCE( index_name, str ) { str, NULL }, 153 static resource_string strings_for_itt[] = {
155 {
"num_resource_strings", NULL }
157 #undef TBB_STRING_RESOURCE 159 static __itt_string_handle *ITT_get_string_handle(
int idx) {
160 __TBB_ASSERT( idx >= 0 && idx < NUM_STRINGS,
"string handle out of valid range");
161 return (idx >= 0 && idx < NUM_STRINGS) ? strings_for_itt[idx].itt_str_handle : NULL;
164 static void ITT_init_domains() {
173 static void ITT_init_strings() {
174 for (
int i = 0; i < NUM_STRINGS; ++i ) {
183 static void ITT_init() {
190 void ITT_DoUnsafeOneTimeInitialization () {
193 if ( !ITT_InitializationDone ) {
195 if (ITT_Present) ITT_init();
196 ITT_InitializationDone =
true;
204 void ITT_DoOneTimeInitialization() {
205 if ( !ITT_InitializationDone ) {
207 ITT_DoUnsafeOneTimeInitialization();
222 bool itt_present =
false;
224 ITT_DoUnsafeOneTimeInitialization();
225 itt_present = ITT_Present;
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 );
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 ) ) {
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);
481 #if __TBB_WIN8UI_SUPPORT && (_WIN32_WINNT < 0x0A00) 482 __TBB_ASSERT(
false,
"For Windows 8 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 ) {
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)
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
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 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
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
static market * theMarket
Currently active global market.
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
static basic_tls< uintptr_t > theTLS
TLS for scheduler instances associated with individual threads.
Class that supports TBB initialization.
Represents acquisition of a mutex.
virtual size_t active_value() const __TBB_override
const size_t ThreadStackSize
static global_market_mutex_type theMarketMutex
Mutex guarding creation/destruction of theMarket, insertions/deletions in my_arenas,...
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 * task
size_t active_value_if_present() const
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
static bool UsePrivateRML
atomic< global_control * > my_head
static void initialize_rml_factory()
void __TBB_store_with_release(volatile T &location, V value)
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
#define __itt_domain_create
void itt_set_sync_name_v3(void *obj, const tchar *name)
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.
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
const size_t NFS_MaxLineSize
Compile-time constant that is upper bound on cache line/sector size.
#define __itt_string_handle_create
void PrintVersion()
Prints TBB version information on stderr.
void *__TBB_EXPORTED_FUNC itt_load_pointer_v3(const void *src)
Work stealing task scheduler.
static size_t active_value(parameter p)
virtual size_t default_value() const __TBB_override
A lock that occupies a single byte.
#define ITT_NOTIFY(name, obj)
__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 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 bool GetBoolEnvironmentVariable(const char *name)
static bool is_rethrow_broken
void __TBB_EXPORTED_FUNC itt_store_pointer_with_release_v3(void *dst, void *src)
char tchar
Unicode support.
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 * domain
#define ITT_SYNC_CREATE(obj, type, name)
void Scheduler_OneTimeInitialization(bool itt_present)
Defined in scheduler.cpp.
static unsigned app_parallelism_limit()
Reports active parallelism level according to user's settings.
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)
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 const char const char int ITT_FORMAT __itt_group_sync x void const char * name
static unsigned default_num_threads()
int __TBB_load_ittnotify()
static atomic< int > count
Counter of references to global shared resources such as TLS.
virtual size_t active_value() const
static allowed_parallelism_control allowed_parallelism_ctl
#define _T(string_literal)
Standard Windows style macro to markup the string literals.
void __TBB_EXPORTED_FUNC call_itt_notify_v5(int t, void *ptr)
static void release_resources()
Destroy the thread-local storage key and deinitialize RML.
static void add_ref()
Add reference to resources. If first reference added, acquire the resources.
void suppress_unused_warning(const T1 &)
Utility template function to prevent "unused" warnings by various compilers.
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
__itt_relation
The kind of relation between two instances is specified by the enumerated type __itt_relation....
#define __TBB_ASSERT_RELEASE(predicate, message)
virtual void apply_active() const __TBB_override
T max(const T &val1, const T &val2)
Utility template function returning greater of the two values.
static __TBB_atomic_flag InitializationLock
Global initialization lock.
static void terminate_auto_initialized_scheduler()
Undo automatic initialization if necessary; call when a thread exits.
static rml::tbb_factory theRMLServerFactory
static control_storage * controls[]
void __TBB_EXPORTED_METHOD internal_destroy()
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
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)
static bool initialization_done()
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
__TBB_atomic __TBB_Flag __TBB_atomic_flag
virtual size_t default_value() const __TBB_override
static bool InitializationDone
Specifies if the one-time initializations has been done.
void __TBB_EXPORTED_FUNC itt_task_end_v7(itt_domain_enum domain)
static void print_version_info()
void PrintExtraVersionInfo(const char *category, const char *format,...)
Prints arbitrary extra TBB version information on stderr.
static bool is_speculation_enabled
static __TBB_InitOnce __TBB_InitOnceHiddenInstance
void __TBB_EXPORTED_FUNC itt_region_end_v9(itt_domain_enum domain, void *region, unsigned long long region_extra)
virtual void apply_active() const __TBB_override
static const char _pad[NFS_MaxLineSize - sizeof(int)]
Padding in order to prevent false sharing.
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)
static unsigned DefaultNumberOfThreads
Caches the maximal level of parallelism supported by the hardware.
static void set_active_num_workers(unsigned w)
Set number of active workers.
void *__TBB_EXPORTED_FUNC itt_load_pointer_with_acquire_v3(const void *src)
void __TBB_EXPORTED_METHOD internal_create()
#define ITT_SYNC_RENAME(obj, name)
virtual bool is_first_arg_preferred(size_t a, size_t b) const __TBB_override
static stack_size_control stack_size_ctl
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 * lock
void initialize_cache_aligned_allocator()
Defined in cache_aligned_allocator.cpp.
T __TBB_load_with_acquire(const volatile T &location)
void DoOneTimeInitializations()
Performs thread-safe lazy one-time general TBB initialization.
#define ITT_FINI_ITTLIB()
scheduler_mutex_type global_market_mutex_type
virtual size_t default_value() const =0
static void acquire_resources()
Create key for thread-local storage and initialize RML.
unsigned GetPrime(unsigned seed)
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
Identifiers declared inside namespace internal should never be used directly by client code.
Pads type T to fill out to a multiple of cache line size.
static unsigned max_num_workers()