63 static bool ITT_Present;
64 static atomic<bool> ITT_InitializationDone;
67 #if !(_WIN32||_WIN64) || __TBB_SOURCE_DIRECTLY_INCLUDED 77 #if __TBB_OLD_PRIMES_RNG 81 static const unsigned Primes[] = {
82 0x9e3779b1, 0xffe6cc59, 0x2109f6dd, 0x43977ab5,
83 0xba5703f5, 0xb495a877, 0xe1626741, 0x79695e6b,
84 0xbc98c09f, 0xd5bee2b3, 0x287488f9, 0x3af18231,
85 0x9677cd4d, 0xbe3a6929, 0xadc6a877, 0xdcf0674b,
86 0xbe4d6fe9, 0x5f15e201, 0x99afc3fd, 0xf3f16801,
87 0xe222cfff, 0x24ba5fdb, 0x0620452d, 0x79f149e3,
88 0xc8b93f49, 0x972702cd, 0xb07dd827, 0x6c97d5ed,
89 0x085a3d61, 0x46eb5ea7, 0x3d9910ed, 0x2e687b5b,
90 0x29609227, 0x6eb081f1, 0x0954c4e1, 0x9d114db9,
91 0x542acfa9, 0xb3e6bd7b, 0x0742d917, 0xe9f3ffa7,
92 0x54581edb, 0xf2480f45, 0x0bb9288f, 0xef1affc7,
93 0x85fa0ca7, 0x3ccc14db, 0xe6baf34b, 0x343377f7,
94 0x5ca19031, 0xe6d9293b, 0xf0a9f391, 0x5d2e980b,
95 0xfc411073, 0xc3749363, 0xb892d829, 0x3549366b,
96 0x629750ad, 0xb98294e5, 0x892d9483, 0xc235baf3,
97 0x3d2402a3, 0x6bdef3c9, 0xbec333cd, 0x40c9520f
108 unsigned GetPrime (
unsigned seed ) {
109 return Primes[seed%(
sizeof(Primes)/
sizeof(Primes[0]))];
111 #endif //__TBB_OLD_PRIMES_RNG 124 __TBB_ASSERT(k>=0,
"removed __TBB_InitOnce ref that was not added?");
145 struct resource_string {
147 __itt_string_handle *itt_str_handle;
153 #define TBB_STRING_RESOURCE( index_name, str ) { str, NULL }, 154 static resource_string strings_for_itt[] = {
156 {
"num_resource_strings", NULL }
158 #undef TBB_STRING_RESOURCE 160 static __itt_string_handle *ITT_get_string_handle(
int idx) {
161 __TBB_ASSERT( idx >= 0 && idx < NUM_STRINGS,
"string handle out of valid range");
162 return (idx >= 0 && idx < NUM_STRINGS) ? strings_for_itt[idx].itt_str_handle : NULL;
165 static void ITT_init_domains() {
174 static void ITT_init_strings() {
175 for (
int i = 0; i < NUM_STRINGS; ++i ) {
184 static void ITT_init() {
191 void ITT_DoUnsafeOneTimeInitialization () {
194 if ( !ITT_InitializationDone ) {
196 if (ITT_Present) ITT_init();
197 ITT_InitializationDone =
true;
205 void ITT_DoOneTimeInitialization() {
206 if ( !ITT_InitializationDone ) {
208 ITT_DoUnsafeOneTimeInitialization();
223 bool itt_present =
false;
225 ITT_DoUnsafeOneTimeInitialization();
226 itt_present = ITT_Present;
243 #if (_WIN32||_WIN64) && !__TBB_SOURCE_DIRECTLY_INCLUDED 244 extern "C" bool WINAPI DllMain( HANDLE , DWORD reason, LPVOID lpvReserved ) {
247 case DLL_PROCESS_ATTACH:
250 case DLL_PROCESS_DETACH:
253 if( lpvReserved==NULL )
263 case DLL_THREAD_DETACH:
278 ITT_NOTIFY(sync_acquired, const_cast<void*>(src));
287 case 2:
ITT_NOTIFY(sync_acquired, ptr);
break;
296 const __itt_id itt_null_id = {0, 0, 0};
299 if (tbb_domains[idx] == NULL) {
300 ITT_DoOneTimeInitialization();
302 return tbb_domains[idx];
305 static inline void itt_id_make(__itt_id *
id,
void*
addr,
unsigned long long extra) {
309 static inline void itt_id_create(
const __itt_domain *
domain, __itt_id
id) {
310 ITTNOTIFY_VOID_D1(id_create,
domain,
id);
315 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
316 __itt_id group_id = itt_null_id;
317 __itt_id parent_id = itt_null_id;
318 itt_id_make( &group_id, group, group_extra );
319 itt_id_create(
d, group_id );
321 itt_id_make( &parent_id,
parent, parent_extra );
323 __itt_string_handle *n = ITT_get_string_handle(name_index);
324 ITTNOTIFY_VOID_D3(task_group,
d, group_id, parent_id, n);
330 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
331 __itt_id
id = itt_null_id;
332 itt_id_make( &
id,
addr, addr_extra );
333 __itt_string_handle *k = ITT_get_string_handle(
key);
334 size_t value_length = strlen(
value );
336 ITTNOTIFY_VOID_D4(metadata_str_addA,
d,
id, k,
value, value_length);
338 ITTNOTIFY_VOID_D4(metadata_str_add,
d,
id, k,
value, value_length);
345 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
346 __itt_id
id = itt_null_id;
347 itt_id_make( &
id,
addr, addr_extra );
348 __itt_string_handle *k = ITT_get_string_handle(
key);
360 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
361 __itt_id id0 = itt_null_id;
362 __itt_id id1 = itt_null_id;
363 itt_id_make( &id0, addr0, addr0_extra );
364 itt_id_make( &id1, addr1, addr1_extra );
371 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
372 __itt_id task_id = itt_null_id;
373 __itt_id parent_id = itt_null_id;
375 itt_id_make( &task_id,
task, task_extra );
378 itt_id_make( &parent_id,
parent, parent_extra );
380 __itt_string_handle *n = ITT_get_string_handle(name_index);
381 ITTNOTIFY_VOID_D3(
task_begin,
d, task_id, parent_id, n );
386 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
393 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
394 __itt_id region_id = itt_null_id;
395 __itt_id parent_id = itt_null_id;
396 itt_id_make( ®ion_id, region, region_extra );
398 itt_id_make( &parent_id,
parent, parent_extra );
400 ITTNOTIFY_VOID_D3(
region_begin,
d, region_id, parent_id, NULL );
405 if ( __itt_domain *
d = get_itt_domain(
domain ) ) {
406 __itt_id region_id = itt_null_id;
407 itt_id_make( ®ion_id, region, region_extra );
408 ITTNOTIFY_VOID_D1( region_end,
d, region_id );
412 #else // DO_ITT_NOTIFY 436 #endif // DO_ITT_NOTIFY 440 void* result = *static_cast<void*const*>(src);
501 #if __TBB_WIN8UI_SUPPORT && (_WIN32_WINNT < 0x0A00) 502 __TBB_ASSERT(
false,
"For Windows 8 Store* apps we must not set stack size" );
518 namespace interface9 {
555 new_active = c->
my_head->my_value;
556 else if ( c->
my_head->my_next )
557 new_active = c->
my_head->my_next->my_value;
560 if ( curr ==
this ) {
567 new_active = curr->my_value;
573 if ( new_active != old_active ) {
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 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_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 ITT_SYNC_RENAME(obj, name)
Work stealing task scheduler.
static void terminate_auto_initialized_scheduler()
Undo automatic initialization if necessary; call when a thread exits.
static stack_size_control stack_size_ctl
static atomic< int > count
Counter of references to global shared resources such as TLS.
void itt_set_sync_name_v3(void *obj, const tchar *name)
virtual size_t default_value() const __TBB_override
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 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
virtual bool is_first_arg_preferred(size_t a, size_t b) const __TBB_override
#define __TBB_ASSERT_RELEASE(predicate, message)
static __TBB_InitOnce __TBB_InitOnceHiddenInstance
static basic_tls< uintptr_t > theTLS
TLS for scheduler instances associated with individual threads.
__TBB_atomic __TBB_Flag __TBB_atomic_flag
static void set_active_num_workers(unsigned w)
Set number of active workers.
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_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle * key
A lock that occupies a single byte.
void __TBB_EXPORTED_FUNC itt_store_pointer_with_release_v3(void *dst, void *src)
static unsigned default_num_threads()
virtual size_t active_value() const __TBB_override
__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....
static unsigned DefaultNumberOfThreads
Caches the maximal level of parallelism supported by the hardware.
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 PrintVersion()
Prints TBB version information on stderr.
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 *__TBB_EXPORTED_FUNC itt_load_pointer_v3(const void *src)
scheduler_mutex_type global_market_mutex_type
#define __itt_string_handle_create
static size_t active_value(parameter p)
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
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 rml::tbb_factory theRMLServerFactory
int __TBB_load_ittnotify()
static void acquire_resources()
Create key for thread-local storage and initialize RML.
virtual bool is_first_arg_preferred(size_t a, size_t b) const
static global_market_mutex_type theMarketMutex
Mutex guarding creation/destruction of theMarket, insertions/deletions in my_arenas,...
static unsigned max_num_workers()
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 suppress_unused_warning(const T1 &)
Utility template function to prevent "unused" warnings by various compilers.
static void print_version_info()
void __TBB_store_with_release(volatile T &location, V value)
static void add_ref()
Add reference to resources. If first reference added, acquire the resources.
static bool GetBoolEnvironmentVariable(const char *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 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_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 is_rethrow_broken
atomic< global_control * > my_head
virtual size_t default_value() const =0
#define __itt_domain_create
static void initialize_rml_factory()
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)
char tchar
Unicode support.
static bool is_speculation_enabled
static void release_resources()
Destroy the thread-local storage key and deinitialize RML.
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_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 void apply_active() const __TBB_override
static allowed_parallelism_control allowed_parallelism_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 sync_releasing
Pads type T to fill out to a multiple of cache line size.
void __TBB_EXPORTED_FUNC call_itt_notify_v5(int t, void *ptr)
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
#define ITT_FINI_ITTLIB()
#define _T(string_literal)
Standard Windows style macro to markup the string literals.
virtual size_t active_value() const
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)
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 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
T min(const T &val1, const T &val2)
Utility template function returning lesser of the two values.
Represents acquisition of a mutex.
static control_storage * controls[]
const size_t NFS_MaxLineSize
Compile-time constant that is upper bound on cache line/sector size.
__itt_relation
The kind of relation between two instances is specified by the enumerated type __itt_relation....
void const char const char int ITT_FORMAT __itt_group_sync x void const char * name
static bool InitializationDone
Specifies if the one-time initializations has been done.
void initialize_cache_aligned_allocator()
Defined in cache_aligned_allocator.cpp.
void DoOneTimeInitializations()
Performs thread-safe lazy one-time general TBB initialization.
static size_t default_page_size()
void __TBB_EXPORTED_FUNC itt_region_end_v9(itt_domain_enum domain, void *region, unsigned long long region_extra)
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)
#define ITT_SYNC_CREATE(obj, type, 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 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_string_handle unsigned long long ITT_FORMAT lu metadata_add
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.
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
virtual size_t default_value() const __TBB_override
void __TBB_EXPORTED_METHOD internal_destroy()
size_t active_value_if_present() const
#define ITT_NOTIFY(name, obj)
void *__TBB_EXPORTED_FUNC itt_load_pointer_with_acquire_v3(const void *src)
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 const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long 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 * lock
void Scheduler_OneTimeInitialization(bool itt_present)
Defined in scheduler.cpp.
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)
T __TBB_load_with_acquire(const volatile T &location)
void __TBB_EXPORTED_METHOD internal_create()
virtual void apply_active() const
void __TBB_EXPORTED_FUNC itt_task_end_v7(itt_domain_enum domain)
static bool UsePrivateRML
void __TBB_EXPORTED_FUNC itt_metadata_ptr_add_v11(itt_domain_enum domain, void *addr, unsigned long long addr_extra, string_index key, void *value)
const size_t ThreadStackSize
static size_t DefaultPageSize
Caches the size of OS regular memory page.
static __TBB_atomic_flag InitializationLock
Global initialization lock.
static unsigned app_parallelism_limit()
Reports active parallelism level according to user's settings.
void PrintExtraVersionInfo(const char *category, const char *format,...)
Prints arbitrary extra TBB version information on stderr.
static void remove_ref()
Remove reference to resources. If last reference removed, release the resources.
Class that supports TBB initialization.
unsigned GetPrime(unsigned seed)
Identifiers declared inside namespace internal should never be used directly by client code.
static market * theMarket
Currently active global market.