Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Identifiers declared inside namespace internal should never be used directly by client code. More...
Namespaces | |
gcc_builtins | |
icc_intrinsics_port | |
msvc_inline_asm | |
msvc_intrinsics | |
rml | |
Classes | |
class | __TBB_InitOnce |
Class that supports TBB initialization. More... | |
class | affinity_helper |
class | affinity_partitioner_base_v3 |
Defines entry point for affinity partitioner into TBB run-time library. More... | |
struct | aligned_storage |
struct | aligned_storage< value_type, 1 > |
class | allocate_additional_child_of_proxy |
class | allocate_child_proxy |
class | allocate_continuation_proxy |
class | allocate_root_proxy |
class | allocate_root_with_context_proxy |
class | allocator_base |
struct | allocator_rebind |
struct | allocator_traits |
struct | allocator_type |
Class for determining type of std::allocator<T>::value_type. More... | |
class | allowed_parallelism_control |
class | arena |
struct | arena_base |
The structure of an arena, except the array of slots. More... | |
struct | arena_slot |
struct | arena_slot_line1 |
struct | arena_slot_line2 |
class | atomic_backoff |
Class that implements exponential backoff. More... | |
struct | atomic_impl |
Base class that provides basic functionality for atomic<T> without fetch_and_add. More... | |
struct | atomic_impl_with_arithmetic |
Base class that provides basic functionality for atomic<T> with fetch_and_add. More... | |
struct | atomic_load_store_traits |
struct | atomic_rep |
struct | atomic_rep< 1 > |
struct | atomic_rep< 2 > |
struct | atomic_rep< 4 > |
struct | atomic_rep< 8 > |
struct | atomic_selector |
struct | atomic_selector< 1 > |
struct | atomic_selector< 2 > |
struct | atomic_selector< 4 > |
struct | atomic_selector< 8 > |
struct | atomic_traits |
class | auto_empty_task |
Smart holder for the empty task class with automatic destruction. More... | |
class | basic_tls |
Basic cross-platform wrapper class for TLS operations. More... | |
class | binary_semaphore |
binary_semaphore for concurrent monitor More... | |
class | binding_handler |
class | blocked_rangeNd_impl |
struct | body_arg_detector |
struct | body_arg_detector< ReturnType(Callable::*)(T) const > |
struct | body_arg_detector< ReturnType(Callable::*)(T)> |
struct | bool_constant |
class | circular_doubly_linked_list_with_sentinel |
Circular doubly-linked list with sentinel. More... | |
class | co_context |
class | concurrent_monitor |
concurrent_monitor More... | |
class | concurrent_queue_base_v3 |
For internal use only. More... | |
class | concurrent_queue_base_v8 |
For internal use only. More... | |
class | concurrent_queue_iterator |
Meets requirements of a forward iterator for STL. More... | |
class | concurrent_queue_iterator_base_v3 |
Type-independent portion of concurrent_queue_iterator. More... | |
class | concurrent_queue_iterator_rep |
class | concurrent_queue_rep |
Internal representation of a ConcurrentQueue. More... | |
class | concurrent_vector_base_v3 |
Base class of concurrent vector implementation. More... | |
struct | conditional |
struct | conditional< true, T, U > |
struct | conjunction |
struct | conjunction< First, Args... > |
struct | conjunction< T > |
struct | conjunction<> |
struct | context_guard_helper |
struct | context_list_node_t |
class | control_storage |
struct | coroutine_type |
class | cpu_ctl_env |
struct | cpu_ctl_env_space |
class | critical_section_v4 |
class | custom_scheduler |
A scheduler with a customized evaluation loop. More... | |
struct | DefaultSchedulerTraits |
Traits classes for scheduler. More... | |
struct | enable_if |
Enables one or the other code branches. More... | |
struct | enable_if< true, T > |
class | fast_reverse_vector |
Vector that grows without reallocations, and stores items in the reverse order. More... | |
class | FastRandom |
A fast random number generator. More... | |
struct | fgt_internal_input_alias_helper |
struct | fgt_internal_output_alias_helper |
class | final_sum |
Performs final scan for a leaf. More... | |
class | finish_scan |
Combine partial results. More... | |
class | function_invoker |
class | function_task |
class | generic_scheduler |
Work stealing task scheduler. More... | |
class | governor |
The class handles access to the single instance of market, and to TLS to keep scheduler instances. More... | |
struct | hash_map_segment_base |
class | index_sequence |
class | input_buffer |
A buffer of input items for a filter. More... | |
struct | int_to_type |
Utility helper structure to ease overload resolution. More... | |
struct | IntelSchedulerTraits |
class | intrusive_list |
Double linked list of items of type T that is derived from intrusive_list_node class. More... | |
class | intrusive_list_base |
List of element of type T, where T is derived from intrusive_list_node. More... | |
struct | intrusive_list_node |
Data structure to be inherited by the types that can form intrusive lists. More... | |
struct | is_integral |
struct | is_integral_impl |
Partial support for std::is_integral. More... | |
struct | is_integral_impl< bool > |
struct | is_integral_impl< char > |
struct | is_integral_impl< int > |
struct | is_integral_impl< long > |
struct | is_integral_impl< long long > |
struct | is_integral_impl< short > |
struct | is_integral_impl< wchar_t > |
struct | is_ref |
struct | is_ref< U & > |
struct | is_same_type |
Detects whether two given types are the same. More... | |
struct | is_same_type< W, W > |
class | lambda_reduce_body |
Auxiliary class for parallel_reduce; for internal use only. More... | |
class | lambda_scan_body |
struct | lane_selector_base |
struct | machine_load_store |
struct | machine_load_store_relaxed |
struct | machine_load_store_seq_cst |
class | mail_inbox |
Class representing source of mail. More... | |
class | mail_outbox |
Class representing where mail is put. More... | |
struct | make_index_sequence_impl |
struct | make_index_sequence_impl< 0, S... > |
class | market |
class | memptr_intrusive_list |
Double linked list of items of type T containing a member of type intrusive_list_node. More... | |
struct | micro_queue |
A queue using simple locking. More... | |
class | micro_queue_pop_finalizer |
class | mutex_copy_deprecated_and_disabled |
class | nested_arena_context |
class | no_assign |
Base class for types that should not be assigned. More... | |
class | no_copy |
Base class for types that should not be copied or assigned. More... | |
class | node_handle |
class | node_handle< Key, Key, Node, Allocator > |
class | node_handle_base |
struct | padded |
Pads type T to fill out to a multiple of cache line size. More... | |
struct | padded_base |
struct | padded_base< T, S, 0 > |
class | parallel_for_body |
Calls the function with values from range [begin, end) with a step provided. More... | |
class | parallel_for_each_body_do |
class | parallel_for_each_body_for |
struct | parallel_for_each_impl |
struct | parallel_for_each_impl< Iterator, Function, std::random_access_iterator_tag > |
class | parallel_invoke_cleaner |
class | parallel_invoke_helper |
class | partition_type_base |
Provides backward-compatible methods for partition objects without affinity. More... | |
class | pipeline_cleaner |
class | pipeline_root_task |
class | platform_topology |
struct | preceding_lane_selector |
struct | predicate_leq |
struct | queue_and_mutex |
Essentially, this is just a pair of a queue and a mutex to protect the queue. More... | |
struct | random_lane_selector |
struct | reverse |
class | scheduler |
struct | scheduler_properties |
Bit-field representing properties of a sheduler. More... | |
struct | scheduler_state |
struct | select_size_t_constant |
A template to select either 32-bit or 64-bit constant as compile time, depending on machine word size. More... | |
class | semaphore |
Edsger Dijkstra's counting semaphore. More... | |
class | spawner |
class | stack_size_control |
class | stage_task |
class | start_scan |
Initial task to split the work. More... | |
struct | STATIC_ASSERTION_FAILED |
struct | STATIC_ASSERTION_FAILED< false > |
struct | stored_pack |
Allows to store a function parameter pack as a variable and later pass it to another function. More... | |
struct | stored_pack< T, Types... > |
struct | stored_pack<> |
struct | strip |
Strips its template type argument from cv- and ref-qualifiers. More... | |
struct | strip< const T & > |
struct | strip< const T && > |
struct | strip< const T > |
struct | strip< const T(&)[N]> |
struct | strip< const volatile T & > |
struct | strip< const volatile T && > |
struct | strip< const volatile T > |
struct | strip< const volatile T(&)[N]> |
struct | strip< T & > |
struct | strip< T && > |
struct | strip< T(&)()> |
Specialization for function pointers. More... | |
struct | strip< T(&)[N]> |
Specialization for arrays converts to a corresponding pointer. More... | |
struct | strip< volatile T & > |
struct | strip< volatile T && > |
struct | strip< volatile T > |
struct | strip< volatile T(&)[N]> |
struct | subsequent_lane_selector |
class | sum_node |
Split work to be done in the scan. More... | |
struct | supports_impl |
struct | supports_impl< T, typename void_t< Checks< T >... >::type, Checks... > |
class | task_group_base |
class | task_handle_task |
struct | task_info |
This structure is used to store task information in a input buffer. More... | |
class | task_prefix |
Memory prefix to a task object. More... | |
struct | task_proxy |
class | task_scheduler_observer_v3 |
class | task_stream |
The container for "fairness-oriented" aka "enqueued" tasks. More... | |
class | task_stream_accessor |
class | task_stream_accessor< back_nonnull_accessor > |
class | task_stream_base |
class | tbb_exception_ptr |
Exception container that preserves the exact copy of the original exception. More... | |
class | tbb_thread_v3 |
Versioned thread class. More... | |
struct | thread_closure_0 |
struct | thread_closure_1 |
Structure used to pass user function with 1 argument to thread. More... | |
struct | thread_closure_2 |
struct | thread_closure_base |
class | tls |
More advanced TLS support template class. More... | |
class | tls< T * > |
struct | type_with_alignment |
struct | type_with_alignment< 1 > |
struct | type_with_alignment< 16 > |
struct | type_with_alignment< 2 > |
struct | type_with_alignment< 32 > |
struct | type_with_alignment< 4 > |
struct | type_with_alignment< 64 > |
struct | type_with_alignment< 8 > |
class | unpadded_mail_outbox |
Internal representation of mail_outbox, without padding. More... | |
class | vector_iterator |
Meets requirements of a forward iterator for STL and a Value for a blocked_range.*/. More... | |
struct | version_tag_v3 |
struct | void_t |
std::void_t internal implementation (to avoid GCC < 4.7 "template aliases" absence) More... | |
class | while_group_task |
For internal use only. More... | |
class | while_iteration_task |
For internal use only. More... | |
class | while_task |
For internal use only. More... | |
Functions | |
__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES (full_fence) | |
__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES (acquire) | |
__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES (release) | |
__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES (relaxed) | |
template<memory_semantics M, typename T > | |
void | swap (atomic< T > &lhs, atomic< T > &rhs) |
template<typename T > | |
atomic< T > & | as_atomic (T &t) |
size_t __TBB_EXPORTED_FUNC | NFS_GetLineSize () |
Cache/sector line size. More... | |
void *__TBB_EXPORTED_FUNC | NFS_Allocate (size_t n_element, size_t element_size, void *hint) |
Allocate memory on cache/sector line boundary. More... | |
void __TBB_EXPORTED_FUNC | NFS_Free (void *) |
Free memory allocated by NFS_Allocate. More... | |
template<typename T > | |
void | handle_unconstructed_elements (T *array, size_t n_of_elements) |
Exception helper function. More... | |
void | swap (concurrent_vector_base_v3::segment_t &lhs, concurrent_vector_base_v3::segment_t &rhs) __TBB_NOEXCEPT(true) |
template<typename Container , typename T > | |
vector_iterator< Container, T > | operator+ (ptrdiff_t offset, const vector_iterator< Container, T > &v) |
template<typename Container , typename T , typename U > | |
bool | operator== (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
template<typename Container , typename T , typename U > | |
bool | operator!= (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
template<typename Container , typename T , typename U > | |
bool | operator< (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
template<typename Container , typename T , typename U > | |
bool | operator> (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
template<typename Container , typename T , typename U > | |
bool | operator>= (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
template<typename Container , typename T , typename U > | |
bool | operator<= (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
template<typename Container , typename T , typename U > | |
ptrdiff_t | operator- (const vector_iterator< Container, T > &i, const vector_iterator< Container, U > &j) |
template<typename MyAlloc , typename OtherAlloc > | |
void | allocator_copy_assignment (MyAlloc &my_allocator, OtherAlloc &other_allocator, traits_true_type) |
template<typename MyAlloc , typename OtherAlloc > | |
void | allocator_copy_assignment (MyAlloc &, OtherAlloc &, traits_false_type) |
template<typename MyAlloc , typename OtherAlloc > | |
void | allocator_move_assignment (MyAlloc &my_allocator, OtherAlloc &other_allocator, traits_true_type) |
template<typename MyAlloc , typename OtherAlloc > | |
void | allocator_move_assignment (MyAlloc &, OtherAlloc &, traits_false_type) |
template<typename MyAlloc , typename OtherAlloc > | |
void | allocator_swap (MyAlloc &my_allocator, OtherAlloc &other_allocator, traits_true_type) |
template<typename MyAlloc , typename OtherAlloc > | |
void | allocator_swap (MyAlloc &, OtherAlloc &, traits_false_type) |
template<typename C , typename T , typename U > | |
bool | operator== (const concurrent_queue_iterator< C, T > &i, const concurrent_queue_iterator< C, U > &j) |
template<typename C , typename T , typename U > | |
bool | operator!= (const concurrent_queue_iterator< C, T > &i, const concurrent_queue_iterator< C, U > &j) |
static void | fgt_alias_port (void *, void *, bool) |
static void | fgt_composite (void *, void *, void *) |
static void | fgt_graph (void *) |
template<typename NodeType > | |
static void | fgt_multioutput_node_desc (const NodeType *, const char *) |
template<typename NodeType > | |
static void | fgt_node_desc (const NodeType *, const char *) |
static void | fgt_graph_desc (void *, const char *) |
static void | fgt_body (void *, void *) |
template<int N, typename PortsTuple > | |
static void | fgt_multioutput_node (void *, string_index, void *, void *, PortsTuple &) |
template<int N, typename PortsTuple > | |
static void | fgt_multioutput_node_with_body (void *, string_index, void *, void *, PortsTuple &, void *) |
template<int N, typename PortsTuple > | |
static void | fgt_multiinput_node (void *, string_index, void *, PortsTuple &, void *) |
static void | fgt_multiinput_multioutput_node (void *, string_index, void *, void *) |
static void | fgt_node (void *, string_index, void *, void *) |
static void | fgt_node (void *, string_index, void *, void *, void *) |
static void | fgt_node (void *, string_index, void *, void *, void *, void *) |
static void | fgt_node_with_body (void *, string_index, void *, void *, void *) |
static void | fgt_node_with_body (void *, string_index, void *, void *, void *, void *) |
static void | fgt_make_edge (void *, void *) |
static void | fgt_remove_edge (void *, void *) |
static void | fgt_begin_body (void *) |
static void | fgt_end_body (void *) |
static void | fgt_async_try_put_begin (void *, void *) |
static void | fgt_async_try_put_end (void *, void *) |
static void | fgt_async_reserve (void *, void *) |
static void | fgt_async_commit (void *, void *) |
static void | fgt_reserve_wait (void *) |
static void | fgt_release_wait (void *) |
template<typename NodeType > | |
void | fgt_multiinput_multioutput_node_desc (const NodeType *, const char *) |
template<typename Container > | |
auto | first (Container &c) -> decltype(begin(c)) |
template<typename Container > | |
auto | first (const Container &c) -> decltype(begin(c)) |
template<typename Container > | |
auto | last (Container &c) -> decltype(begin(c)) |
template<typename Container > | |
auto | last (const Container &c) -> decltype(begin(c)) |
template<typename T , size_t size> | |
T * | first (T(&arr) [size]) |
template<typename T , size_t size> | |
T * | last (T(&arr) [size]) |
static void | fgt_algorithm (string_index, void *, void *) |
static void | fgt_begin_algorithm (string_index, void *) |
static void | fgt_end_algorithm (void *) |
static void | fgt_alg_begin_body (string_index, void *, void *) |
static void | fgt_alg_end_body (void *) |
template<typename F , typename Pack > | |
void | call (F &&f, Pack &&p) |
Calls the given function with arguments taken from a stored_pack. More... | |
template<typename Ret , typename F , typename Pack > | |
Ret | call_and_return (F &&f, Pack &&p) |
template<typename... Types> | |
stored_pack< Types... > | save_pack (Types &&... types) |
__TBB_MACHINE_DEFINE_ATOMICS (1, int8_t) | |
__TBB_MACHINE_DEFINE_ATOMICS (2, int16_t) | |
__TBB_MACHINE_DEFINE_ATOMICS (4, int32_t) | |
__TBB_MACHINE_DEFINE_ATOMICS (8, int64_t) | |
namespace msvc_inline_asm static inline void | pause (uintptr_t delay) |
size_t __TBB_EXPORTED_FUNC | get_initial_auto_partitioner_divisor () |
void | make_critical (task &t) |
bool | is_critical (task &t) |
void __TBB_EXPORTED_FUNC | deallocate_via_handler_v3 (void *p) |
Deallocates memory using FreeHandler. More... | |
void *__TBB_EXPORTED_FUNC | allocate_via_handler_v3 (size_t n) |
Allocates memory using MallocHandler. More... | |
bool __TBB_EXPORTED_FUNC | is_malloc_used_v3 () |
Returns true if standard malloc/free are used to work with memory. More... | |
void __TBB_EXPORTED_FUNC | throw_bad_last_alloc_exception_v4 () |
Obsolete. More... | |
void __TBB_EXPORTED_FUNC | throw_exception_v4 (exception_id) |
Gathers all throw operators in one place. More... | |
void | throw_exception (exception_id eid) |
Versionless convenience wrapper for throw_exception_v4() More... | |
template<typename T , typename U > | |
void | spin_wait_while_eq (const volatile T &location, U value) |
Spin WHILE the value of the variable is equal to a given value. More... | |
template<typename T , typename U > | |
void | spin_wait_until_eq (const volatile T &location, const U value) |
Spin UNTIL the value of the variable is equal to a given value. More... | |
template<typename predicate_type > | |
void | spin_wait_while (predicate_type condition) |
template<typename T > | |
T | __TBB_MaskedCompareAndSwap (volatile T *const ptr, const T value, const T comparand) |
template<size_t S, typename T > | |
T | __TBB_CompareAndSwapGeneric (volatile void *ptr, T value, T comparand) |
template<> | |
int8_t | __TBB_CompareAndSwapGeneric< 1, int8_t > (volatile void *ptr, int8_t value, int8_t comparand) |
template<> | |
int16_t | __TBB_CompareAndSwapGeneric< 2, int16_t > (volatile void *ptr, int16_t value, int16_t comparand) |
template<> | |
int32_t | __TBB_CompareAndSwapGeneric< 4, int32_t > (volatile void *ptr, int32_t value, int32_t comparand) |
template<> | |
int64_t | __TBB_CompareAndSwapGeneric< 8, int64_t > (volatile void *ptr, int64_t value, int64_t comparand) |
template<size_t S, typename T > | |
T | __TBB_FetchAndAddGeneric (volatile void *ptr, T addend) |
template<size_t S, typename T > | |
T | __TBB_FetchAndStoreGeneric (volatile void *ptr, T value) |
template<typename T > | |
T | __TBB_load_with_acquire (const volatile T &location) |
template<typename T , typename V > | |
void | __TBB_store_with_release (volatile T &location, V value) |
void | __TBB_store_with_release (volatile size_t &location, size_t value) |
Overload that exists solely to avoid /Wp64 warnings. More... | |
template<typename T > | |
T | __TBB_load_full_fence (const volatile T &location) |
template<typename T , typename V > | |
void | __TBB_store_full_fence (volatile T &location, V value) |
void | __TBB_store_full_fence (volatile size_t &location, size_t value) |
Overload that exists solely to avoid /Wp64 warnings. More... | |
template<typename T > | |
T | __TBB_load_relaxed (const volatile T &location) |
template<typename T , typename V > | |
void | __TBB_store_relaxed (volatile T &location, V value) |
void | __TBB_store_relaxed (volatile size_t &location, size_t value) |
Overload that exists solely to avoid /Wp64 warnings. More... | |
__TBB_DefineTypeWithAlignment (8) __TBB_DefineTypeWithAlignment(16) __TBB_DefineTypeWithAlignment(32) __TBB_DefineTypeWithAlignment(64) typedef __TBB_machine_type_with_alignment_64 __TBB_machine_type_with_strictest_alignment | |
void __TBB_EXPORTED_FUNC | call_itt_notify_v5 (int t, void *ptr) |
void __TBB_EXPORTED_FUNC | itt_store_pointer_with_release_v3 (void *dst, void *src) |
void *__TBB_EXPORTED_FUNC | itt_load_pointer_with_acquire_v3 (const void *src) |
void *__TBB_EXPORTED_FUNC | itt_load_pointer_v3 (const void *src) |
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 __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_EXPORTED_FUNC | itt_metadata_ptr_add_v11 (itt_domain_enum domain, void *addr, unsigned long long addr_extra, string_index key, void *value) |
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_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) |
void __TBB_EXPORTED_FUNC | itt_task_end_v7 (itt_domain_enum domain) |
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 __TBB_EXPORTED_FUNC | itt_region_end_v9 (itt_domain_enum domain, void *region, unsigned long long region_extra) |
template<typename T , typename U > | |
void | itt_store_word_with_release (tbb::atomic< T > &dst, U src) |
template<typename T > | |
T | itt_load_word_with_acquire (const tbb::atomic< T > &src) |
template<typename T > | |
void | itt_store_word_with_release (T &dst, T src) |
template<typename T > | |
T | itt_load_word_with_acquire (const T &src) |
template<typename T > | |
void | itt_hide_store_word (T &dst, T src) |
template<typename T > | |
T | itt_hide_load_word (const T &src) |
void | register_node_addr (itt_domain_enum, void *, unsigned long long, string_index, void *) |
void | call_itt_notify (notify_type, void *) |
void | itt_make_task_group (itt_domain_enum, void *, unsigned long long, void *, unsigned long long, string_index) |
void | itt_metadata_str_add (itt_domain_enum, void *, unsigned long long, string_index, const char *) |
void | itt_relation_add (itt_domain_enum, void *, unsigned long long, itt_relation, void *, unsigned long long) |
void | itt_task_begin (itt_domain_enum, void *, unsigned long long, void *, unsigned long long, string_index) |
void | itt_task_end (itt_domain_enum) |
void | itt_region_begin (itt_domain_enum, void *, unsigned long long, void *, unsigned long long, string_index) |
void | itt_region_end (itt_domain_enum, void *, unsigned long long) |
void __TBB_EXPORTED_FUNC | handle_perror (int error_code, const char *aux_info) |
Throws std::runtime_error with what() returning error_code description prefixed with aux_info. More... | |
bool | __TBB_false () |
void __TBB_EXPORTED_FUNC | runtime_warning (const char *format,...) |
Report a runtime warning. More... | |
template<typename T > | |
void | poison_pointer (T *__TBB_atomic &) |
template<typename T , typename U > | |
T | punned_cast (U *ptr) |
Cast between unrelated pointer types. More... | |
template<typename T > | |
bool | is_aligned (T *pointer, uintptr_t alignment) |
A function to check if passed in pointer is aligned on a specific border. More... | |
template<typename integer_type > | |
bool | is_power_of_two (integer_type arg) |
A function to check if passed integer is a power of 2. More... | |
template<typename argument_integer_type , typename divisor_integer_type > | |
argument_integer_type | modulo_power_of_two (argument_integer_type arg, divisor_integer_type divisor) |
A function to compute arg modulo divisor where divisor is a power of 2. More... | |
template<typename argument_integer_type , typename power2_integer_type > | |
bool | is_power_of_two_at_least (argument_integer_type arg, power2_integer_type power2) |
A function to determine if arg is a power of 2 at least as big as another power of 2. More... | |
template<typename T1 > | |
void | suppress_unused_warning (const T1 &) |
Utility template function to prevent "unused" warnings by various compilers. More... | |
template<typename T1 , typename T2 > | |
void | suppress_unused_warning (const T1 &, const T2 &) |
template<typename T1 , typename T2 , typename T3 > | |
void | suppress_unused_warning (const T1 &, const T2 &, const T3 &) |
void *__TBB_EXPORTED_FUNC | allocate_closure_v3 (size_t size) |
Allocate a closure. More... | |
void __TBB_EXPORTED_FUNC | free_closure_v3 (void *) |
Free a closure allocated by allocate_closure_v3. More... | |
void __TBB_EXPORTED_FUNC | move_v3 (tbb_thread_v3 &t1, tbb_thread_v3 &t2) |
tbb_thread_v3::id __TBB_EXPORTED_FUNC | thread_get_id_v3 () |
void __TBB_EXPORTED_FUNC | thread_yield_v3 () |
void __TBB_EXPORTED_FUNC | thread_sleep_v3 (const tick_count::interval_t &i) |
bool | operator== (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true) |
bool | operator!= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true) |
bool | operator< (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true) |
bool | operator<= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true) |
bool | operator> (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true) |
bool | operator>= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true) |
static bool | occupy_slot (generic_scheduler *&slot, generic_scheduler &s) |
static void * | DummyMalloc (size_t size) |
Dummy routine used for first indirect call via MallocHandler. More... | |
static void | DummyFree (void *ptr) |
Dummy routine used for first indirect call via FreeHandler. More... | |
static void * | dummy_padded_allocate (size_t bytes, size_t alignment) |
Dummy routine used for first indirect call via padded_allocate_handler. More... | |
static void | dummy_padded_free (void *ptr) |
Dummy routine used for first indirect call via padded_free_handler. More... | |
static void * | padded_allocate (size_t bytes, size_t alignment) |
static void | padded_free (void *p) |
void | initialize_handler_pointers () |
Initialize the allocation/free handler pointers. More... | |
void | initialize_cache_aligned_allocator () |
Defined in cache_aligned_allocator.cpp. More... | |
void | create_coroutine (coroutine_type &c, size_t stack_size, void *arg) |
void | current_coroutine (coroutine_type &c) |
void | swap_coroutine (coroutine_type &prev_coroutine, coroutine_type &new_coroutine) |
void | destroy_coroutine (coroutine_type &c) |
void | co_local_wait_for_all (void *) |
int | __TBB_load_ittnotify () |
static unsigned | calc_workers_soft_limit (unsigned workers_soft_limit, unsigned workers_hard_limit) |
generic_scheduler * | allocate_scheduler (market &m, bool genuine) |
void | Scheduler_OneTimeInitialization (bool itt_present) |
Defined in scheduler.cpp. More... | |
void | reset_extra_state (task *t) |
void | assert_task_valid (const task *) |
bool | ConcurrentWaitsEnabled (task &t) |
void | prolonged_pause () |
void | set_one_bit (population_t &dest, int pos) |
void | clear_one_bit (population_t &dest, int pos) |
bool | is_bit_set (population_t val, int pos) |
void | initialize_numa_topology (size_t groups_num, int &nodes_count, int *&indexes_list, int *&concurrency_list) |
binding_handler * | allocate_binding_handler (int slot_num) |
void | deallocate_binding_handler (binding_handler *handler_ptr) |
void | bind_to_node (binding_handler *handler_ptr, int slot_num, int numa_id) |
void | restore_affinity (binding_handler *handler_ptr, int slot_num) |
static bool | GetBoolEnvironmentVariable (const char *name) |
static long | GetIntegralEnvironmentVariable (const char *name) |
void | DoOneTimeInitializations () |
Performs thread-safe lazy one-time general TBB initialization. More... | |
void | itt_set_sync_name_v3 (void *obj, const tchar *name) |
size_t | DefaultSystemPageSize () |
Returns OS regular memory page size. More... | |
void | fix_broken_rethrow () |
bool | gcc_rethrow_exception_broken () |
void | PrintVersion () |
Prints TBB version information on stderr. More... | |
void | PrintExtraVersionInfo (const char *category, const char *format,...) |
Prints arbitrary extra TBB version information on stderr. More... | |
void | PrintRMLVersionInfo (void *arg, const char *server_info) |
A callback routine to print RML version information on stderr. More... | |
bool | cpu_has_speculation () |
check for transaction support. More... | |
int | AvailableHwConcurrency () |
Returns maximal parallelism level supported by the current OS configuration. More... | |
void | handle_win_error (int error_code) |
Throws std::runtime_error with what() returning error_code description prefixed with aux_info. More... | |
template<typename T > | |
T | min (const T &val1, const T &val2) |
Utility template function returning lesser of the two values. More... | |
template<typename T > | |
T | max (const T &val1, const T &val2) |
Utility template function returning greater of the two values. More... | |
unsigned | GetPrime (unsigned seed) |
template<typename T1 , typename T2 , class Pred > | |
T1 | atomic_update (tbb::atomic< T1 > &dst, T2 newValue, Pred compare) |
Atomically replaces value of dst with newValue if they satisfy condition of compare predicate. More... | |
template<typename F > | |
void | atomic_do_once (const F &initializer, atomic< do_once_state > &state) |
One-time initialization function. More... | |
void | run_initializer (void(*f)(), atomic< do_once_state > &state) |
void | run_initializer (bool(*f)(), atomic< do_once_state > &state) |
void | destroy_process_mask () |
Variables | |
static void *const | vector_allocation_error_flag = reinterpret_cast<void*>(size_t(63)) |
Bad allocation marker. More... | |
const isolation_tag | no_isolation = 0 |
static const int | priority_stride_v4 = INT_MAX / 4 |
static const int | priority_critical = priority_stride_v4 * 3 + priority_stride_v4 / 3 * 2 |
const uintptr_t | NUM_NOTIFY_TYPES = 4 |
const size_t | NFS_MaxLineSize = 128 |
Compile-time constant that is upper bound on cache line/sector size. More... | |
static void *(* | MallocHandler )(size_t size) = &DummyMalloc |
Handler for memory allocation. More... | |
static void(* | FreeHandler )(void *pointer) = &DummyFree |
Handler for memory deallocation. More... | |
static void *(* | padded_allocate_handler )(size_t bytes, size_t alignment) = &dummy_padded_allocate |
Handler for padded memory allocation. More... | |
static void(* | padded_free_handler )(void *p) = &dummy_padded_free |
Handler for padded memory deallocation. More... | |
static const dynamic_link_descriptor | MallocLinkTable [] |
Table describing how to link the handlers. More... | |
static tbb::atomic< do_once_state > | initialization_state |
static size_t | NFS_LineSize = 128 |
static void * | static_invalid_page |
generic_scheduler *(* | AllocateSchedulerPtr )(market &, bool) |
Pointer to the scheduler factory function. More... | |
static const intptr_t | num_priority_levels = 1 |
const size_t | task_alignment = 32 |
Alignment for a task object. More... | |
const size_t | task_prefix_reservation_size = ((sizeof(internal::task_prefix)-1)/task_alignment+1)*task_alignment |
Number of bytes reserved for a task prefix. More... | |
const population_t | one = 1 |
static const char | _pad [NFS_MaxLineSize - sizeof(int)] = {} |
Padding in order to prevent false sharing. More... | |
static __TBB_InitOnce | __TBB_InitOnceHiddenInstance |
static allowed_parallelism_control | allowed_parallelism_ctl |
static stack_size_control | stack_size_ctl |
static control_storage * | controls [] = {&allowed_parallelism_ctl, &stack_size_ctl} |
static const char | VersionString [] = "\0" TBB_VERSION_STRINGS |
static bool | PrintVersionFlag = false |
const size_t | MByte = 1024*1024 |
const size_t | ThreadStackSize = (sizeof(uintptr_t) <= 4 ? 2 : 4 )*MByte |
Identifiers declared inside namespace internal should never be used directly by client code.
typedef unsigned short tbb::internal::affinity_id |
Definition at line 40 of file concurrent_queue.cpp.
Definition at line 1006 of file _concurrent_queue_impl.h.
Definition at line 288 of file concurrent_vector.h.
typedef bool_constant<false> tbb::internal::false_type |
Definition at line 490 of file tbb_stddef.h.
typedef intptr_t tbb::internal::isolation_tag |
typedef uint64_t tbb::internal::machine_tsc_t |
Definition at line 53 of file gcc_ia32_common.h.
using tbb::internal::make_index_sequence = typedef typename tbb::internal::make_index_sequence_impl<N>::type |
Definition at line 209 of file _template_helpers.h.
typedef enum tbb::internal::memory_order tbb::internal::memory_order |
typedef uintptr_t tbb::internal::population_t |
Definition at line 46 of file task_stream.h.
typedef intptr_t tbb::internal::reference_count |
Mutex type for global locks in the scheduler.
Definition at line 133 of file scheduler_common.h.
typedef uint32_t tbb::internal::sem_count_t |
for performance reasons, we want specialized binary_semaphore
Definition at line 92 of file semaphore.h.
using tbb::internal::supports = typedef typename supports_impl<T, void, Checks...>::type |
Definition at line 98 of file _template_helpers.h.
typedef pthread_t tbb::internal::thread_id_type |
Definition at line 52 of file tbb_thread.h.
typedef size_t tbb::internal::ticket |
Definition at line 42 of file concurrent_queue.cpp.
typedef unsigned long tbb::internal::Token |
Definition at line 43 of file pipeline.h.
typedef long tbb::internal::tokendiff_t |
Definition at line 44 of file pipeline.h.
Definition at line 43 of file _allocator_traits.h.
Internal implementation of allocator traits, propagate_on_* use internal boolean_constant. In order to avoid code duplication, check what implementation of boolean constant will likely be passed.
Definition at line 42 of file _allocator_traits.h.
typedef bool_constant<true> tbb::internal::true_type |
Definition at line 489 of file tbb_stddef.h.
Definition at line 407 of file tbb_stddef.h.
Definition at line 89 of file concurrent_monitor.h.
Definition at line 88 of file concurrent_monitor.h.
One-time initialization states.
Definition at line 197 of file tbb_misc.h.
Definition at line 67 of file tbb_exception.h.
Optimization hint to free_task that enables it omit unnecessary tests and code.
Definition at line 186 of file scheduler_common.h.
Enumerator | |
---|---|
ITT_DOMAIN_FLOW | |
ITT_DOMAIN_MAIN | |
ITT_DOMAIN_ALGO | |
ITT_NUM_DOMAINS |
Definition at line 137 of file tbb_profiling.h.
Definition at line 34 of file tbb_profiling.h.
Enumerator | |
---|---|
memory_order_relaxed | |
memory_order_consume | |
memory_order_acquire | |
memory_order_release | |
memory_order_acq_rel | |
memory_order_seq_cst |
Definition at line 74 of file icc_generic.h.
Enumerator | |
---|---|
prepare | |
cancel | |
acquired | |
releasing |
Definition at line 129 of file tbb_profiling.h.
Enumerator | |
---|---|
TBB_STRING_RESOURCE |
Definition at line 28 of file tbb_profiling.h.
Definitions for bits in task_prefix::extra_state.
Enumerator | |
---|---|
es_version_1_task | Tag for v1 tasks (i.e. tasks in TBB 1.0 and 2.0) |
es_version_3_task | Tag for v3 tasks (i.e. tasks in TBB 2.1-2.2) |
es_task_enqueued | Tag for enqueued tasks. |
es_task_proxy | Tag for v3 task_proxy. |
es_ref_count_active | Set if ref_count might be changed by another thread. Used for debugging. |
es_task_is_stolen | Set if the task has been stolen. |
Definition at line 162 of file scheduler_common.h.
Enumerator | |
---|---|
front_accessor | |
back_nonnull_accessor |
Definition at line 131 of file task_stream_extended.h.
|
inline |
|
inline |
Definition at line 476 of file tbb_machine.h.
References __TBB_machine_cmpswp1(), and value.
|
inline |
Definition at line 485 of file tbb_machine.h.
References __TBB_machine_cmpswp2(), and value.
|
inline |
Definition at line 494 of file tbb_machine.h.
References __TBB_machine_cmpswp4, and value.
|
inline |
Definition at line 501 of file tbb_machine.h.
References __TBB_machine_cmpswp8, and value.
tbb::internal::__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES | ( | full_fence | ) |
tbb::internal::__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES | ( | acquire | ) |
tbb::internal::__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES | ( | release | ) |
tbb::internal::__TBB_DECL_ATOMIC_LOAD_STORE_PRIMITIVES | ( | relaxed | ) |
tbb::internal::__TBB_DefineTypeWithAlignment | ( | 8 | ) |
|
inline |
Definition at line 282 of file tbb_stddef.h.
|
inline |
Definition at line 507 of file tbb_machine.h.
References tbb::internal::atomic_backoff::pause().
|
inline |
Definition at line 519 of file tbb_machine.h.
References tbb::internal::atomic_backoff::pause(), and value.
|
inline |
Definition at line 722 of file tbb_machine.h.
References tbb::load().
int tbb::internal::__TBB_load_ittnotify | ( | ) |
|
inline |
Definition at line 735 of file tbb_machine.h.
References tbb::load().
Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), tbb::queuing_rw_mutex::scoped_lock::acquire(), tbb::internal::circular_doubly_linked_list_with_sentinel::add(), tbb::internal::generic_scheduler::cleanup_master(), tbb::internal::concurrent_monitor::commit_wait(), tbb::queuing_rw_mutex::scoped_lock::downgrade_to_reader(), tbb::internal::mail_outbox::empty(), tbb::internal::circular_doubly_linked_list_with_sentinel::flush_to(), tbb::internal::generic_scheduler::get_task(), tbb::internal::mail_outbox::internal_pop(), tbb::internal::arena::is_out_of_work(), tbb::internal::generic_scheduler::is_quiescent_local_task_pool_empty(), tbb::internal::generic_scheduler::is_quiescent_local_task_pool_reset(), tbb::internal::concurrent_monitor::notify_all_relaxed(), tbb::internal::concurrent_monitor::notify_one_relaxed(), tbb::internal::concurrent_monitor::notify_relaxed(), tbb::internal::generic_scheduler::prepare_task_pool(), tbb::internal::concurrent_monitor::prepare_wait(), tbb::internal::generic_scheduler::publish_task_pool(), tbb::queuing_rw_mutex::scoped_lock::release(), tbb::internal::circular_doubly_linked_list_with_sentinel::remove(), tbb::internal::generic_scheduler::steal_task_from(), and tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer().
|
inline |
Definition at line 709 of file tbb_machine.h.
Referenced by tbb::queuing_mutex::scoped_lock::acquire(), tbb::queuing_rw_mutex::scoped_lock::acquire(), tbb::internal::market::arena_in_need(), tbb::queuing_rw_mutex::scoped_lock::downgrade_to_reader(), tbb::internal::task_proxy::extract_task(), tbb::internal::__TBB_InitOnce::initialization_done(), tbb::internal::arena::is_out_of_work(), itt_load_pointer_with_acquire_v3(), itt_load_word_with_acquire(), tbb::internal::atomic_impl< I >::operator value_type(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::rehash_bucket(), tbb::queuing_rw_mutex::scoped_lock::release(), tbb::internal::market::release(), tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::size(), tbb::queuing_mutex::scoped_lock::try_acquire(), tbb::queuing_rw_mutex::scoped_lock::try_acquire(), and tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer().
tbb::internal::__TBB_MACHINE_DEFINE_ATOMICS | ( | 1 | , |
int8_t | |||
) |
tbb::internal::__TBB_MACHINE_DEFINE_ATOMICS | ( | 2 | , |
int16_t | |||
) |
tbb::internal::__TBB_MACHINE_DEFINE_ATOMICS | ( | 4 | , |
int32_t | |||
) |
tbb::internal::__TBB_MACHINE_DEFINE_ATOMICS | ( | 8 | , |
int64_t | |||
) |
|
inline |
Definition at line 432 of file tbb_machine.h.
References __TBB_ENDIAN_BIG, __TBB_ENDIANNESS, __TBB_machine_cmpswp4, mask, tbb::internal::atomic_backoff::pause(), and value.
|
inline |
Definition at line 726 of file tbb_machine.h.
References tbb::store(), and value.
|
inline |
Overload that exists solely to avoid /Wp64 warnings.
Definition at line 730 of file tbb_machine.h.
References tbb::store(), and value.
|
inline |
Definition at line 739 of file tbb_machine.h.
References tbb::store(), and value.
Referenced by tbb::internal::concurrent_monitor::abort_all_relaxed(), tbb::queuing_rw_mutex::scoped_lock::acquire(), tbb::internal::circular_doubly_linked_list_with_sentinel::add(), tbb::internal::circular_doubly_linked_list_with_sentinel::clear(), tbb::internal::generic_scheduler::commit_relocated_tasks(), tbb::internal::concurrent_monitor::concurrent_monitor(), tbb::internal::circular_doubly_linked_list_with_sentinel::flush_to(), tbb::internal::generic_scheduler::get_task(), tbb::internal::generic_scheduler::leave_task_pool(), tbb::internal::concurrent_monitor::notify_all_relaxed(), tbb::internal::concurrent_monitor::notify_one_relaxed(), tbb::internal::concurrent_monitor::notify_relaxed(), tbb::internal::concurrent_monitor::prepare_wait(), tbb::internal::mail_outbox::push(), tbb::queuing_rw_mutex::scoped_lock::release(), tbb::internal::circular_doubly_linked_list_with_sentinel::remove(), tbb::internal::generic_scheduler::reset_task_pool_and_leave(), tbb::internal::generic_scheduler::steal_task_from(), tbb::queuing_rw_mutex::scoped_lock::try_acquire(), and tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer().
|
inline |
Overload that exists solely to avoid /Wp64 warnings.
Definition at line 743 of file tbb_machine.h.
References tbb::store(), and value.
|
inline |
Definition at line 713 of file tbb_machine.h.
References value.
Referenced by tbb::queuing_rw_mutex::scoped_lock::acquire(), tbb::internal::generic_scheduler::cleanup_master(), tbb::internal::generic_scheduler::commit_spawned_tasks(), tbb::queuing_rw_mutex::scoped_lock::downgrade_to_reader(), tbb::internal::generic_scheduler::get_task(), internal::indexer_node_base< InputTuple, OutputType, StructTypes >::handle_operations(), internal::reserving_port< T >::handle_operations(), internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >::handle_operations(), tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::handle_operations(), internal::queueing_port< T >::handle_operations(), internal::key_matching_port< TraitsType >::handle_operations(), internal::join_node_FE< key_matching< K, KHash >, InputTuple, OutputTuple >::handle_operations(), internal::join_node_base< JP, InputTuple, OutputTuple >::handle_operations(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_consume(), tbb::flow::interface11::queue_node< T, Allocator >::internal_consume(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_consume(), internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >::internal_forward(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_forward_task_impl(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_pop(), tbb::flow::interface11::queue_node< T, Allocator >::internal_pop(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_pop(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_push(), tbb::flow::interface11::sequencer_node< T, Allocator >::internal_push(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_push(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_reg_succ(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_release(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_release(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_rem_succ(), tbb::flow::interface11::buffer_node< T, Allocator >::internal_reserve(), tbb::flow::interface11::queue_node< T, Allocator >::internal_reserve(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::internal_reserve(), internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >::internal_try_put_task(), itt_store_pointer_with_release_v3(), itt_store_word_with_release(), tbb::internal::generic_scheduler::nested_arena_exit(), tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::operator[](), tbb::internal::arena::process(), tbb::internal::generic_scheduler::publish_task_pool(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::rehash_bucket(), tbb::queuing_mutex::scoped_lock::release(), tbb::queuing_rw_mutex::scoped_lock::release(), tbb::queuing_rw_mutex::scoped_lock::release_internal_lock(), tbb::internal::generic_scheduler::release_task_pool(), tbb::interface6::internal::aggregator_generic< internal::queueing_port::queueing_port_operation >::start_handle_operations(), tbb::interface6::aggregator_ext< internal::basic_handler >::start_handle_operations(), tbb::internal::atomic_impl< I >::store_with_release(), tbb::internal::generic_scheduler::unlock_task_pool(), and tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer().
|
inline |
Overload that exists solely to avoid /Wp64 warnings.
Definition at line 717 of file tbb_machine.h.
References value.
binding_handler* tbb::internal::allocate_binding_handler | ( | int | slot_num | ) |
Definition at line 273 of file tbb_bind.cpp.
References __TBB_ASSERT.
void * tbb::internal::allocate_closure_v3 | ( | size_t | size | ) |
Allocate a closure.
Definition at line 35 of file tbb_thread.cpp.
References allocate_via_handler_v3(), and size.
Referenced by tbb::internal::thread_closure_base::operator new().
|
inline |
Definition at line 37 of file scheduler.cpp.
References AllocateSchedulerPtr.
Referenced by tbb::internal::generic_scheduler::create_master(), and tbb::internal::generic_scheduler::create_worker().
void *__TBB_EXPORTED_FUNC tbb::internal::allocate_via_handler_v3 | ( | size_t | n | ) |
Allocates memory using MallocHandler.
The function uses scalable_malloc if scalable allocator is available and malloc if not
Definition at line 224 of file cache_aligned_allocator.cpp.
References eid_bad_alloc, and throw_exception().
Referenced by tbb::tbb_allocator< T >::allocate(), allocate_closure_v3(), and tbb::movable_exception< ExceptionData >::move().
|
inline |
Copy assignment implementation for allocator if propagate_on_container_copy_assignment == true_type Noop if pocca == false_type
Definition at line 49 of file _allocator_traits.h.
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::operator=(), and tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::operator=().
|
inline |
Definition at line 53 of file _allocator_traits.h.
|
inline |
Move assignment implementation for allocator if propagate_on_container_move_assignment == true_type. Noop if pocma == false_type.
Definition at line 59 of file _allocator_traits.h.
References tbb::move().
Referenced by tbb::interface10::internal::concurrent_skip_list< Traits >::internal_move_assign(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::internal_move_assign(), tbb::internal::node_handle_base< Key, Node, Allocator >::operator=(), and tbb::concurrent_vector< padded_element, padded_allocator_type >::operator=().
|
inline |
Definition at line 63 of file _allocator_traits.h.
|
inline |
Swap implementation for allocators if propagate_on_container_swap == true_type. Noop if pocs == false_type.
Definition at line 69 of file _allocator_traits.h.
References swap().
Referenced by tbb::internal::node_handle_base< Key, Node, Allocator >::swap(), tbb::interface10::internal::concurrent_skip_list< Traits >::swap(), tbb::concurrent_vector< padded_element, padded_allocator_type >::swap(), and tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::swap().
|
inline |
Definition at line 74 of file _allocator_traits.h.
|
inline |
Definition at line 572 of file atomic.h.
Referenced by tbb::internal::generic_scheduler::acquire_task_pool(), tbb::internal::arena::advertise_new_work(), tbb::internal::market::arena_in_need(), tbb::interface5::internal::split_ordered_list< T, Allocator >::node::atomic_set_next(), tbb::CAS(), tbb::internal::task_proxy::extract_task(), tbb::internal::generic_scheduler::free_nonlocal_small_task(), tbb::internal::market::global_market(), tbb::interface5::internal::hash_map_base::insert_new_node(), tbb::internal::mail_outbox::internal_pop(), tbb::internal::generic_scheduler::lock_task_pool(), tbb::interface7::task_arena::mark_initialized(), occupy_slot(), tbb::internal::market::set_active_num_workers(), tbb::queuing_rw_mutex::scoped_lock::try_acquire_internal_lock(), and tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::try_insert().
Definition at line 237 of file scheduler_common.h.
Referenced by tbb::internal::allocate_continuation_proxy::allocate(), tbb::internal::allocate_child_proxy::allocate(), tbb::internal::generic_scheduler::get_task(), and tbb::internal::custom_scheduler< SchedulerTraits >::process_bypass_loop().
void tbb::internal::atomic_do_once | ( | const F & | initializer, |
atomic< do_once_state > & | state | ||
) |
One-time initialization function.
/param initializer Pointer to function without arguments The variant that returns bool is used for cases when initialization can fail and it is OK to continue execution, but the state should be reset so that the initialization attempt was repeated the next time. /param state Shared state associated with initializer that specifies its initialization state. Must be initially set to #uninitialized value (e.g. by means of default static zero initialization).
Definition at line 213 of file tbb_misc.h.
References do_once_executed, do_once_pending, do_once_uninitialized, run_initializer(), and spin_wait_while_eq().
Referenced by initialize_cache_aligned_allocator(), and tbb::internal::governor::one_time_init().
T1 tbb::internal::atomic_update | ( | tbb::atomic< T1 > & | dst, |
T2 | newValue, | ||
Pred | compare | ||
) |
Atomically replaces value of dst with newValue if they satisfy condition of compare predicate.
Return value semantics is the same as for CAS.
Definition at line 186 of file tbb_misc.h.
Referenced by tbb::internal::arena::is_out_of_work(), and tbb::internal::arena::occupy_free_slot().
int tbb::internal::AvailableHwConcurrency | ( | ) |
Returns maximal parallelism level supported by the current OS configuration.
Referenced by tbb::internal::governor::default_num_threads().
void tbb::internal::bind_to_node | ( | binding_handler * | handler_ptr, |
int | slot_num, | ||
int | numa_id | ||
) |
Definition at line 283 of file tbb_bind.cpp.
References __TBB_ASSERT, tbb::internal::binding_handler::bind_thread_to_node(), and tbb::internal::platform_topology::instance().
|
static |
Definition at line 86 of file market.cpp.
References tbb::internal::market::app_parallelism_limit(), tbb::internal::governor::default_num_threads(), and max().
Referenced by tbb::internal::market::global_market().
void tbb::internal::call | ( | F && | f, |
Pack && | p | ||
) |
Calls the given function with arguments taken from a stored_pack.
Definition at line 175 of file _template_helpers.h.
References p.
Referenced by streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::enqueue(), and streaming_node< tuple< Ports... >, JP, StreamFactory >::args_storage< Args >::send().
Ret tbb::internal::call_and_return | ( | F && | f, |
Pack && | p | ||
) |
|
inline |
Definition at line 276 of file tbb_profiling.h.
Referenced by tbb::task::add_ref_count(), tbb::interface6::internal::aggregator_generic< internal::queueing_port::queueing_port_operation >::execute(), tbb::interface6::aggregator_ext< internal::basic_handler >::execute_impl(), tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::handle_operations(), tbb::strict_ppl::internal::micro_queue< Value >::pop(), tbb::strict_ppl::internal::micro_queue< Value >::push(), tbb::interface6::aggregator_operation::start(), tbb::interface6::internal::aggregator_generic< internal::queueing_port::queueing_port_operation >::start_handle_operations(), and tbb::interface6::aggregator_ext< internal::basic_handler >::start_handle_operations().
Definition at line 292 of file tbb_main.cpp.
|
inline |
Definition at line 55 of file task_stream.h.
References __TBB_ASSERT, __TBB_AtomicAND(), and one.
Referenced by tbb::internal::task_stream< num_priority_levels >::drain(), tbb::internal::task_stream< num_priority_levels >::pop(), tbb::internal::task_stream< num_priority_levels >::pop_specific(), and tbb::internal::task_stream< num_priority_levels >::try_pop().
|
inline |
Definition at line 293 of file scheduler_common.h.
Referenced by tbb::internal::custom_scheduler< SchedulerTraits >::local_wait_for_all().
bool tbb::internal::cpu_has_speculation | ( | ) |
check for transaction support.
Definition at line 230 of file tbb_misc.cpp.
Referenced by tbb::internal::governor::acquire_resources().
|
inline |
Definition at line 154 of file co_context.h.
References __TBB_ASSERT, __TBB_ASSERT_EX, co_local_wait_for_all(), tbb::internal::governor::default_page_size(), MAP_ANONYMOUS, MAP_STACK, tbb::internal::coroutine_type::my_context, tbb::internal::coroutine_type::my_stack, and tbb::internal::coroutine_type::my_stack_size.
Referenced by tbb::internal::co_context::co_context().
|
inline |
Definition at line 184 of file co_context.h.
References __TBB_ASSERT_EX, and tbb::internal::coroutine_type::my_context.
Referenced by tbb::internal::co_context::co_context().
void tbb::internal::deallocate_binding_handler | ( | binding_handler * | handler_ptr | ) |
Definition at line 278 of file tbb_bind.cpp.
References __TBB_ASSERT.
void __TBB_EXPORTED_FUNC tbb::internal::deallocate_via_handler_v3 | ( | void * | p | ) |
Deallocates memory using FreeHandler.
The function uses scalable_free if scalable allocator is available and free if not
Definition at line 232 of file cache_aligned_allocator.cpp.
References p.
Referenced by tbb::tbb_allocator< T >::deallocate(), tbb::movable_exception< ExceptionData >::destroy(), free_closure_v3(), and tbb::tbb_exception::operator delete().
size_t tbb::internal::DefaultSystemPageSize | ( | ) |
Returns OS regular memory page size.
Definition at line 70 of file tbb_misc.cpp.
Referenced by tbb::internal::governor::default_page_size().
|
inline |
Definition at line 194 of file co_context.h.
References tbb::internal::governor::default_page_size(), tbb::internal::coroutine_type::my_stack, and tbb::internal::coroutine_type::my_stack_size.
Referenced by tbb::internal::co_context::~co_context().
|
inline |
Definition at line 266 of file tbb_misc.h.
Referenced by tbb::internal::governor::release_resources().
void tbb::internal::DoOneTimeInitializations | ( | ) |
Performs thread-safe lazy one-time general TBB initialization.
Definition at line 215 of file tbb_main.cpp.
References _pad, tbb::internal::__TBB_InitOnce::add_ref(), tbb::internal::governor::default_num_threads(), tbb::internal::governor::default_page_size(), GetBoolEnvironmentVariable(), tbb::internal::__TBB_InitOnce::InitializationDone, initialize_cache_aligned_allocator(), tbb::internal::governor::initialize_rml_factory(), tbb::internal::__TBB_InitOnce::lock(), tbb::internal::governor::print_version_info(), PrintExtraVersionInfo(), PrintVersion(), Scheduler_OneTimeInitialization(), suppress_unused_warning(), and tbb::internal::__TBB_InitOnce::unlock().
Referenced by tbb::internal::governor::one_time_init().
|
static |
Dummy routine used for first indirect call via padded_allocate_handler.
Executed on very first call through padded_allocate_handler.
Definition at line 151 of file cache_aligned_allocator.cpp.
References __TBB_ASSERT, initialize_cache_aligned_allocator(), and padded_allocate_handler.
Dummy routine used for first indirect call via padded_free_handler.
Executed on very first call through padded_free_handler.
Definition at line 158 of file cache_aligned_allocator.cpp.
References __TBB_ASSERT, initialize_cache_aligned_allocator(), and padded_free_handler.
Dummy routine used for first indirect call via FreeHandler.
Executed on very first call through FreeHandler.
Definition at line 144 of file cache_aligned_allocator.cpp.
References __TBB_ASSERT, FreeHandler, and initialize_cache_aligned_allocator().
Referenced by is_malloc_used_v3().
|
static |
Dummy routine used for first indirect call via MallocHandler.
Executed on very first call through MallocHandler.
Definition at line 137 of file cache_aligned_allocator.cpp.
References __TBB_ASSERT, initialize_cache_aligned_allocator(), MallocHandler, and size.
Referenced by initialize_handler_pointers(), and is_malloc_used_v3().
|
inlinestatic |
Definition at line 47 of file _tbb_trace_impl.h.
Definition at line 48 of file _tbb_trace_impl.h.
|
inlinestatic |
Definition at line 44 of file _tbb_trace_impl.h.
Referenced by tbb::interface9::internal::start_for< Range, Body, Partitioner >::start_for().
Definition at line 299 of file _flow_graph_trace_impl.h.
Referenced by internal::add_nodes_impl().
Definition at line 342 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::release_wait().
Definition at line 341 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::reserve_wait().
Definition at line 339 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::try_put_impl().
Definition at line 340 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::try_put_impl().
|
inlinestatic |
Definition at line 45 of file _tbb_trace_impl.h.
Referenced by tbb::interface9::internal::start_for< Range, Body, Partitioner >::run().
Definition at line 336 of file _flow_graph_trace_impl.h.
Referenced by internal::continue_input< Output, Policy >::apply_body_bypass(), internal::function_input< Input, Output, Policy, A >::apply_body_impl(), internal::multifunction_input< Input, OutputPortSet, Policy, A >::apply_body_impl_bypass(), and tbb::flow::interface11::input_node< Output >::try_reserve_apply_body().
Definition at line 313 of file _flow_graph_trace_impl.h.
Definition at line 301 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::composite_node< tbb::flow::tuple< InputTypes... >, tbb::flow::tuple<> >::composite_node(), and tbb::flow::interface11::composite_node< tbb::flow::tuple<>, tbb::flow::tuple< OutputTypes... > >::composite_node().
Definition at line 46 of file _tbb_trace_impl.h.
Referenced by tbb::interface9::internal::start_for< Range, Body, Partitioner >::run().
Definition at line 337 of file _flow_graph_trace_impl.h.
Referenced by internal::continue_input< Output, Policy >::apply_body_bypass(), internal::function_input< Input, Output, Policy, A >::apply_body_impl(), and internal::multifunction_input< Input, OutputPortSet, Policy, A >::apply_body_impl_bypass().
Definition at line 303 of file _flow_graph_trace_impl.h.
Definition at line 311 of file _flow_graph_trace_impl.h.
Definition at line 333 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::internal_make_edge().
|
inlinestatic |
Definition at line 324 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::composite_node< tbb::flow::tuple< InputTypes... >, tbb::flow::tuple< OutputTypes... > >::composite_node(), and tbb::flow::interface11::opencl_node< tuple< Ports... >, JP, Factory >::opencl_node().
void tbb::internal::fgt_multiinput_multioutput_node_desc | ( | const NodeType * | , |
const char * | |||
) |
Definition at line 347 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 322 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 316 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 306 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 319 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 326 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::broadcast_node< T >::broadcast_node(), tbb::flow::interface11::buffer_node< T, Allocator >::buffer_node(), tbb::flow::interface11::limiter_node< T, DecrementType >::initialize(), tbb::flow::interface11::overwrite_node< T >::overwrite_node(), tbb::flow::interface11::priority_queue_node< T, Compare, Allocator >::priority_queue_node(), tbb::flow::interface11::queue_node< T, Allocator >::queue_node(), tbb::flow::interface11::sequencer_node< T, Allocator >::sequencer_node(), and tbb::flow::interface11::write_once_node< T >::write_once_node().
|
inlinestatic |
Definition at line 327 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 328 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 309 of file _flow_graph_trace_impl.h.
|
inlinestatic |
Definition at line 330 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::internal::key_from_message_body< K &, T >::operator()(), tbb::flow::interface11::source_node< Output >::source_node(), tbb::flow::interface11::internal::unfolded_join_node< 7, key_matching_port, OutputTuple, key_matching< K, KHash > >::unfolded_join_node(), and tbb::flow::interface11::internal::unfolded_join_node< 8, key_matching_port, OutputTuple, key_matching< K, KHash > >::unfolded_join_node().
|
inlinestatic |
Definition at line 331 of file _flow_graph_trace_impl.h.
Definition at line 344 of file _flow_graph_trace_impl.h.
Definition at line 334 of file _flow_graph_trace_impl.h.
Referenced by tbb::flow::interface11::internal_remove_edge().
Definition at line 343 of file _flow_graph_trace_impl.h.
auto tbb::internal::first | ( | Container & | c | ) | -> decltype(begin(c)) |
Definition at line 34 of file _range_iterator.h.
References begin.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::assign(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::check_range(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::clear(), tbb::task_list::clear(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::concurrent_hash_map(), tbb::interface10::internal::concurrent_skip_list< Traits >::concurrent_skip_list(), tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >::concurrent_unordered_map(), tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >::concurrent_unordered_multimap(), tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >::concurrent_unordered_multiset(), tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >::concurrent_unordered_set(), tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), internal::item_buffer< OutputTuple >::destroy_item(), tbb::internal::parallel_for_each_impl< Iterator, Function, Generic >::doit(), tbb::internal::parallel_for_each_impl< Iterator, Function, std::random_access_iterator_tag >::doit(), tbb::task_list::empty(), internal::item_buffer< OutputTuple >::get_my_item(), tbb::concurrent_vector< padded_element, padded_allocator_type >::grow_by(), tbb::interface10::internal::concurrent_skip_list< Traits >::insert(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::insert(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::insert(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_iterators(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_range(), tbb::interface10::internal::concurrent_skip_list< Traits >::internal_copy(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::internal_copy(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_distance(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_equal_range(), internal::item_buffer< OutputTuple >::item(), tbb::internal::generic_scheduler::local_spawn(), tbb::internal::generic_scheduler::local_spawn_root_and_wait(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), tbb::interface10::internal::concurrent_skip_list< Traits >::not_greater_compare::operator()(), tbb::parallel_do(), tbb::serial::interface9::parallel_for(), tbb::strict_ppl::parallel_for(), tbb::parallel_for_each(), tbb::serial::interface9::parallel_for_impl(), tbb::strict_ppl::parallel_for_impl(), tbb::parallel_sort(), tbb::internal::pipeline_root_task::pipeline_root_task(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::rehash(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::rehash_bucket(), tbb::interface9::internal::do_task_iter< Iterator, Body, Item >::run_for_forward_iterator(), tbb::interface9::internal::run_parallel_do(), tbb::interface9::internal::select_parallel_do(), tbb::internal::generic_scheduler::spawn(), tbb::internal::generic_scheduler::spawn_root_and_wait(), tbb::interface10::internal::concurrent_skip_list< Traits >::unsafe_erase(), and tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::unsafe_erase().
auto tbb::internal::first | ( | const Container & | c | ) | -> decltype(begin(c)) |
Definition at line 37 of file _range_iterator.h.
References begin.
T* tbb::internal::first | ( | T(&) | arr[size] | ) |
Definition at line 59 of file _range_iterator.h.
void tbb::internal::fix_broken_rethrow | ( | ) |
Definition at line 197 of file tbb_misc.cpp.
Free a closure allocated by allocate_closure_v3.
Definition at line 41 of file tbb_thread.cpp.
References deallocate_via_handler_v3().
Referenced by tbb::internal::thread_closure_base::operator delete().
bool tbb::internal::gcc_rethrow_exception_broken | ( | ) |
Definition at line 198 of file tbb_misc.cpp.
Referenced by tbb::internal::governor::acquire_resources().
size_t tbb::internal::get_initial_auto_partitioner_divisor | ( | ) |
Definition at line 149 of file task.cpp.
References tbb::internal::governor::local_scheduler(), and tbb::internal::generic_scheduler::max_threads_in_arena().
|
inlinestatic |
Definition at line 38 of file tbb_environment.h.
Referenced by DoOneTimeInitializations().
|
inlinestatic |
Definition at line 57 of file tbb_environment.h.
unsigned tbb::internal::GetPrime | ( | unsigned | seed | ) |
Defined in tbb_main.cpp
Referenced by tbb::internal::FastRandom::init().
Throws std::runtime_error with what() returning error_code description prefixed with aux_info.
Definition at line 87 of file tbb_misc.cpp.
References __TBB_ASSERT_EX, and PRINT_ERROR_AND_ABORT.
Referenced by tbb::internal::governor::acquire_resources(), tbb::internal::input_buffer::create_my_tls(), tbb::internal::input_buffer::destroy_my_tls(), tbb::internal::tbb_thread_v3::detach(), tbb::internal::tbb_thread_v3::internal_start(), and tbb::internal::tbb_thread_v3::join().
void tbb::internal::handle_unconstructed_elements | ( | T * | array, |
size_t | n_of_elements | ||
) |
Exception helper function.
Definition at line 77 of file concurrent_vector.h.
Referenced by tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard::~element_construction_guard(), and tbb::concurrent_vector< T, A >::internal_loop_guide::~internal_loop_guide().
Throws std::runtime_error with what() returning error_code description prefixed with aux_info.
Referenced by tbb::internal::tbb_thread_v3::detach(), and tbb::internal::tbb_thread_v3::join().
void tbb::internal::initialize_cache_aligned_allocator | ( | ) |
Defined in cache_aligned_allocator.cpp.
Definition at line 132 of file cache_aligned_allocator.cpp.
References atomic_do_once(), initialization_state, and initialize_handler_pointers().
Referenced by DoOneTimeInitializations(), dummy_padded_allocate(), dummy_padded_free(), DummyFree(), and DummyMalloc().
void tbb::internal::initialize_handler_pointers | ( | ) |
Initialize the allocation/free handler pointers.
Caller is responsible for ensuring this routine is called exactly once. The routine attempts to dynamically link with the TBB memory allocator. If that allocator is not found, it links to malloc and free.
Definition at line 113 of file cache_aligned_allocator.cpp.
References __TBB_ASSERT, DummyMalloc(), dynamic_link(), FreeHandler, MallocHandler, MallocLinkTable, padded_allocate(), padded_allocate_handler, padded_free(), padded_free_handler, and PrintExtraVersionInfo().
Referenced by initialize_cache_aligned_allocator().
void tbb::internal::initialize_numa_topology | ( | size_t | groups_num, |
int & | nodes_count, | ||
int *& | indexes_list, | ||
int *& | concurrency_list | ||
) |
Definition at line 267 of file tbb_bind.cpp.
References tbb::internal::platform_topology::fill(), tbb::internal::platform_topology::initialize(), and tbb::internal::platform_topology::instance().
|
inline |
A function to check if passed in pointer is aligned on a specific border.
Definition at line 370 of file tbb_stddef.h.
Referenced by __TBB_machine_aligned_load8(), __TBB_machine_aligned_store8(), __TBB_machine_cmpswp4(), __TBB_machine_cmpswp8_OsX(), __TBB_machine_fetchadd4(), __TBB_machine_fetchadd8(), __TBB_machine_load8(), __TBB_machine_store8(), tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3(), and NFS_Allocate().
|
inline |
Definition at line 61 of file task_stream.h.
References __TBB_ASSERT, and one.
Referenced by tbb::internal::task_stream< num_priority_levels >::drain(), tbb::internal::task_stream< num_priority_levels >::pop(), tbb::internal::task_stream< num_priority_levels >::pop_specific(), and tbb::internal::task_stream< num_priority_levels >::try_pop().
|
inline |
Definition at line 1014 of file task.h.
References tbb::internal::task_prefix::extra_state, and tbb::task::prefix().
Referenced by tbb::internal::arena::enqueue_task(), tbb::internal::custom_scheduler< SchedulerTraits >::local_wait_for_all(), tbb::internal::custom_scheduler< SchedulerTraits >::process_bypass_loop(), tbb::internal::custom_scheduler< SchedulerTraits >::receive_or_steal_task(), and tbb::internal::custom_scheduler< SchedulerTraits >::tally_completion_of_predecessor().
bool __TBB_EXPORTED_FUNC tbb::internal::is_malloc_used_v3 | ( | ) |
Returns true if standard malloc/free are used to work with memory.
Definition at line 238 of file cache_aligned_allocator.cpp.
References __TBB_ASSERT, DummyFree(), DummyMalloc(), FreeHandler, and MallocHandler.
Referenced by tbb::tbb_allocator< T >::allocator_type().
|
inline |
A function to check if passed integer is a power of 2.
Definition at line 376 of file tbb_stddef.h.
Referenced by is_power_of_two_at_least(), modulo_power_of_two(), and NFS_Allocate().
|
inline |
A function to determine if arg is a power of 2 at least as big as another power of 2.
Definition at line 392 of file tbb_stddef.h.
References __TBB_ASSERT, and is_power_of_two().
Referenced by tbb::internal::concurrent_vector_base_v3::is_first_element_in_segment().
|
inline |
Definition at line 222 of file tbb_profiling.h.
References __TBB_ASSERT, and itt_load_pointer_v3().
Referenced by tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::handle_operations(), tbb::interface5::internal::hash_map_base::insert_new_node(), and tbb::interface6::aggregator_operation::next().
|
inline |
Definition at line 210 of file tbb_profiling.h.
References __TBB_ASSERT, and itt_store_pointer_with_release_v3().
Referenced by tbb::interface5::internal::hash_map_base::enable_segment(), tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::handle_operations(), tbb::strict_ppl::internal::micro_queue< Value >::push(), and tbb::interface6::aggregator_operation::set_next().
Definition at line 438 of file tbb_main.cpp.
Referenced by itt_hide_load_word().
Definition at line 276 of file tbb_main.cpp.
References __TBB_load_with_acquire(), and ITT_NOTIFY.
Referenced by itt_load_word_with_acquire().
|
inline |
Definition at line 168 of file tbb_profiling.h.
References __TBB_ASSERT, and itt_load_pointer_with_acquire_v3().
Referenced by tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor::acquire(), tbb::interface5::internal::hash_map_base::check_mask_race(), tbb::interface5::internal::hash_map_base::check_rehashing_collision(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::erase(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::exclude(), tbb::interface6::internal::aggregator_generic< internal::queueing_port::queueing_port_operation >::execute(), tbb::interface9::internal::start_reduce< Range, Body, Partitioner >::execute(), tbb::interface6::aggregator_ext< internal::basic_handler >::execute_impl(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::internal_fast_find(), and tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::lookup().
|
inline |
Definition at line 199 of file tbb_profiling.h.
References __TBB_ASSERT, __TBB_load_with_acquire(), and itt_load_pointer_with_acquire_v3().
|
inline |
Definition at line 278 of file tbb_profiling.h.
void tbb::internal::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 | ||
) |
Definition at line 414 of file tbb_main.cpp.
void tbb::internal::itt_metadata_ptr_add_v11 | ( | itt_domain_enum | domain, |
void * | addr, | ||
unsigned long long | addr_extra, | ||
string_index | key, | ||
void * | value | ||
) |
Definition at line 423 of file tbb_main.cpp.
|
inline |
Definition at line 281 of file tbb_profiling.h.
void tbb::internal::itt_metadata_str_add_v7 | ( | itt_domain_enum | domain, |
void * | addr, | ||
unsigned long long | addr_extra, | ||
string_index | key, | ||
const char * | value | ||
) |
Definition at line 417 of file tbb_main.cpp.
|
inline |
Definition at line 292 of file tbb_profiling.h.
void tbb::internal::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 | ||
) |
Definition at line 431 of file tbb_main.cpp.
|
inline |
Definition at line 295 of file tbb_profiling.h.
void tbb::internal::itt_region_end_v9 | ( | itt_domain_enum | domain, |
void * | region, | ||
unsigned long long | region_extra | ||
) |
Definition at line 434 of file tbb_main.cpp.
|
inline |
Definition at line 284 of file tbb_profiling.h.
void tbb::internal::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 | ||
) |
Definition at line 420 of file tbb_main.cpp.
Definition at line 444 of file tbb_main.cpp.
References ITT_SYNC_RENAME, name, and suppress_unused_warning().
Definition at line 271 of file tbb_main.cpp.
References __TBB_store_with_release(), ITT_NOTIFY, and sync_releasing.
Referenced by itt_hide_store_word(), and itt_store_word_with_release().
|
inline |
Definition at line 157 of file tbb_profiling.h.
References __TBB_ASSERT, and itt_store_pointer_with_release_v3().
Referenced by tbb::interface5::internal::hash_map_base::enable_segment(), tbb::interface9::internal::finish_reduce< Body >::execute(), tbb::interface9::internal::start_reduce< Range, Body, Partitioner >::execute(), tbb::interface6::aggregator_operation::finish(), tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::handle_operations(), tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::handle_operations(), tbb::strict_ppl::internal::micro_queue< Value >::invalidate_page_and_rethrow(), tbb::interface6::internal::aggregator_generic< internal::queueing_port::queueing_port_operation >::start_handle_operations(), tbb::interface6::aggregator_ext< internal::basic_handler >::start_handle_operations(), and tbb::strict_ppl::internal::micro_queue_pop_finalizer< T >::~micro_queue_pop_finalizer().
|
inline |
Definition at line 188 of file tbb_profiling.h.
References __TBB_ASSERT, __TBB_store_with_release(), and itt_store_pointer_with_release_v3().
|
inline |
Definition at line 287 of file tbb_profiling.h.
void tbb::internal::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 | ||
) |
Definition at line 426 of file tbb_main.cpp.
|
inline |
Definition at line 290 of file tbb_profiling.h.
void tbb::internal::itt_task_end_v7 | ( | itt_domain_enum | domain | ) |
Definition at line 429 of file tbb_main.cpp.
auto tbb::internal::last | ( | Container & | c | ) | -> decltype(begin(c)) |
Definition at line 40 of file _range_iterator.h.
References end.
Referenced by tbb::concurrent_vector< padded_element, padded_allocator_type >::assign(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::check_range(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::concurrent_hash_map(), tbb::interface10::internal::concurrent_skip_list< Traits >::concurrent_skip_list(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::concurrent_unordered_base(), tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >::concurrent_unordered_map(), tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >::concurrent_unordered_multimap(), tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >::concurrent_unordered_multiset(), tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >::concurrent_unordered_set(), tbb::concurrent_vector< padded_element, padded_allocator_type >::concurrent_vector(), tbb::internal::parallel_for_each_impl< Iterator, Function, Generic >::doit(), tbb::internal::parallel_for_each_impl< Iterator, Function, std::random_access_iterator_tag >::doit(), tbb::strict_ppl::internal::micro_queue< Value >::get_ref(), tbb::concurrent_bounded_queue< T, A >::get_ref(), tbb::concurrent_vector< padded_element, padded_allocator_type >::grow_by(), tbb::interface10::internal::concurrent_skip_list< Traits >::insert(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::insert(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::insert(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::insert_dummy(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_iterators(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_assign_range(), tbb::interface10::internal::concurrent_skip_list< Traits >::internal_copy(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::internal_copy(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_distance(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_equal_range(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_erase(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_extract(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_find(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::internal_insert(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::move_all(), tbb::parallel_do(), tbb::serial::interface9::parallel_for(), tbb::strict_ppl::parallel_for(), tbb::parallel_for_each(), tbb::serial::interface9::parallel_for_impl(), tbb::strict_ppl::parallel_for_impl(), tbb::parallel_sort(), tbb::interface9::internal::run_parallel_do(), tbb::interface9::internal::select_parallel_do(), tbb::interface10::internal::concurrent_skip_list< Traits >::unsafe_erase(), and tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::unsafe_erase().
auto tbb::internal::last | ( | const Container & | c | ) | -> decltype(begin(c)) |
Definition at line 43 of file _range_iterator.h.
References end.
T* tbb::internal::last | ( | T(&) | arr[size] | ) |
Definition at line 62 of file _range_iterator.h.
References size.
Definition at line 1013 of file task.h.
References tbb::internal::task_prefix::extra_state, and tbb::task::prefix().
Referenced by tbb::internal::arena::enqueue_task(), and tbb::flow::interface11::internal::prioritize_task().
T tbb::internal::max | ( | const T & | val1, |
const T & | val2 | ||
) |
Utility template function returning greater of the two values.
Provided here to avoid including not strict safe <algorithm>.
In case operands cause signed/unsigned or size mismatch warnings it is caller's responsibility to do the appropriate cast before calling the function.
Definition at line 119 of file tbb_misc.h.
Referenced by calc_workers_soft_limit(), tbb::internal::allowed_parallelism_control::default_value(), tbb::internal::market::global_market(), tbb::tbb_allocator< T >::max_size(), tbb::interface6::memory_pool_allocator< T, P >::max_size(), and tbb::internal::arena::num_arena_slots().
T tbb::internal::min | ( | const T & | val1, |
const T & | val2 | ||
) |
Utility template function returning lesser of the two values.
Provided here to avoid including not strict safe <algorithm>.
In case operands cause signed/unsigned or size mismatch warnings it is caller's responsibility to do the appropriate cast before calling the function.
Definition at line 110 of file tbb_misc.h.
Referenced by tbb::internal::allowed_parallelism_control::active_value(), tbb::internal::market::adjust_demand(), tbb::internal::market::update_allotment(), and tbb::internal::market::update_workers_request().
|
inline |
A function to compute arg modulo divisor where divisor is a power of 2.
Definition at line 382 of file tbb_stddef.h.
References __TBB_ASSERT, and is_power_of_two().
Referenced by tbb::strict_ppl::internal::concurrent_queue_iterator_base_v3< tbb_remove_cv< Value >::type >::advance(), tbb::internal::concurrent_queue_iterator_base_v3::advance(), tbb::internal::micro_queue::assign(), tbb::strict_ppl::internal::micro_queue< Value >::assign(), tbb::internal::concurrent_queue_iterator_rep::get_item(), tbb::strict_ppl::internal::concurrent_queue_iterator_rep< Value >::get_item(), tbb::internal::arena::on_thread_leaving(), tbb::internal::micro_queue::pop(), tbb::strict_ppl::internal::micro_queue< Value >::pop(), tbb::internal::micro_queue::push(), and tbb::strict_ppl::internal::micro_queue< Value >::push().
void tbb::internal::move_v3 | ( | tbb_thread_v3 & | t1, |
tbb_thread_v3 & | t2 | ||
) |
Definition at line 147 of file tbb_thread.cpp.
References tbb::internal::tbb_thread_v3::detach(), tbb::internal::tbb_thread_v3::joinable(), and tbb::internal::tbb_thread_v3::my_handle.
Referenced by tbb::move().
|
inlinestatic |
Definition at line 111 of file arena.cpp.
References as_atomic(), and s.
Referenced by tbb::internal::arena::occupy_free_slot_in_range().
|
inline |
Definition at line 286 of file tbb_thread.h.
bool tbb::internal::operator!= | ( | const vector_iterator< Container, T > & | i, |
const vector_iterator< Container, U > & | j | ||
) |
Definition at line 447 of file concurrent_vector.h.
bool tbb::internal::operator!= | ( | const concurrent_queue_iterator< C, T > & | i, |
const concurrent_queue_iterator< C, U > & | j | ||
) |
Definition at line 1071 of file _concurrent_queue_impl.h.
References tbb::internal::concurrent_queue_iterator_base_v3::my_item.
vector_iterator<Container,T> tbb::internal::operator+ | ( | ptrdiff_t | offset, |
const vector_iterator< Container, T > & | v | ||
) |
Definition at line 437 of file concurrent_vector.h.
References tbb::internal::vector_iterator< Container, Value >::my_index, and tbb::internal::vector_iterator< Container, Value >::my_vector.
ptrdiff_t tbb::internal::operator- | ( | const vector_iterator< Container, T > & | i, |
const vector_iterator< Container, U > & | j | ||
) |
Definition at line 472 of file concurrent_vector.h.
References tbb::internal::vector_iterator< Container, Value >::my_index.
|
inline |
Definition at line 290 of file tbb_thread.h.
bool tbb::internal::operator< | ( | const vector_iterator< Container, T > & | i, |
const vector_iterator< Container, U > & | j | ||
) |
Definition at line 452 of file concurrent_vector.h.
References tbb::internal::vector_iterator< Container, Value >::my_index.
|
inline |
Definition at line 294 of file tbb_thread.h.
bool tbb::internal::operator<= | ( | const vector_iterator< Container, T > & | i, |
const vector_iterator< Container, U > & | j | ||
) |
Definition at line 467 of file concurrent_vector.h.
|
inline |
Definition at line 282 of file tbb_thread.h.
bool tbb::internal::operator== | ( | const vector_iterator< Container, T > & | i, |
const vector_iterator< Container, U > & | j | ||
) |
Definition at line 442 of file concurrent_vector.h.
References tbb::internal::vector_iterator< Container, Value >::my_index, and tbb::internal::vector_iterator< Container, Value >::my_vector.
bool tbb::internal::operator== | ( | const concurrent_queue_iterator< C, T > & | i, |
const concurrent_queue_iterator< C, U > & | j | ||
) |
Definition at line 1066 of file _concurrent_queue_impl.h.
References tbb::internal::concurrent_queue_iterator_base_v3::my_item.
|
inline |
Definition at line 298 of file tbb_thread.h.
bool tbb::internal::operator> | ( | const vector_iterator< Container, T > & | i, |
const vector_iterator< Container, U > & | j | ||
) |
Definition at line 457 of file concurrent_vector.h.
|
inline |
Definition at line 302 of file tbb_thread.h.
bool tbb::internal::operator>= | ( | const vector_iterator< Container, T > & | i, |
const vector_iterator< Container, U > & | j | ||
) |
Definition at line 462 of file concurrent_vector.h.
|
static |
Definition at line 202 of file cache_aligned_allocator.cpp.
Referenced by initialize_handler_pointers().
Definition at line 214 of file cache_aligned_allocator.cpp.
References __TBB_ASSERT, NFS_LineSize, and p.
Referenced by initialize_handler_pointers().
namespace msvc_inline_asm static inline void tbb::internal::pause | ( | uintptr_t | delay | ) |
Definition at line 107 of file msvc_ia32_common.h.
References __TBB_r.
Referenced by ITT_VERSIONIZE().
|
inline |
Definition at line 305 of file tbb_stddef.h.
Referenced by tbb::internal::generic_scheduler::deallocate_task(), tbb::internal::final_sum< Range, Body >::final_sum(), tbb::internal::generic_scheduler::free_task(), tbb::internal::generic_scheduler::get_task(), tbb::queuing_mutex::scoped_lock::initialize(), tbb::queuing_rw_mutex::scoped_lock::initialize(), tbb::internal::generic_scheduler::prepare_for_spawning(), tbb::internal::custom_scheduler< SchedulerTraits >::process_bypass_loop(), tbb::internal::generic_scheduler::steal_task_from(), tbb::internal::sum_node< Range, Body >::sum_node(), tbb::internal::input_buffer::~input_buffer(), tbb::internal::rml::private_server::~private_server(), and tbb::task_scheduler_init::~task_scheduler_init().
void tbb::internal::PrintExtraVersionInfo | ( | const char * | category, |
const char * | format, | ||
... | |||
) |
Prints arbitrary extra TBB version information on stderr.
Definition at line 211 of file tbb_misc.cpp.
References PrintVersionFlag.
Referenced by DoOneTimeInitializations(), initialize_handler_pointers(), tbb::internal::governor::print_version_info(), and PrintRMLVersionInfo().
A callback routine to print RML version information on stderr.
Definition at line 222 of file tbb_misc.cpp.
References PrintExtraVersionInfo().
Referenced by tbb::internal::governor::print_version_info().
void tbb::internal::PrintVersion | ( | ) |
Prints TBB version information on stderr.
Definition at line 206 of file tbb_misc.cpp.
References PrintVersionFlag, and VersionString.
Referenced by DoOneTimeInitializations().
|
inline |
Definition at line 297 of file scheduler_common.h.
References __TBB_Pause(), __TBB_STEALING_PAUSE, __TBB_time_stamp, and tbb::internal::atomic_backoff::bounded_pause().
Referenced by tbb::internal::custom_scheduler< SchedulerTraits >::receive_or_steal_task().
|
inline |
Cast between unrelated pointer types.
This method should be used sparingly as a last resort for dealing with situations that inherently break strict ISO C++ aliasing rules.
Definition at line 314 of file tbb_stddef.h.
|
inline |
Definition at line 275 of file tbb_profiling.h.
Definition at line 181 of file scheduler_common.h.
References es_task_enqueued, es_task_is_stolen, tbb::internal::task_prefix::extra_state, and tbb::task::prefix().
Referenced by tbb::internal::custom_scheduler< SchedulerTraits >::process_bypass_loop().
void tbb::internal::restore_affinity | ( | binding_handler * | handler_ptr, |
int | slot_num | ||
) |
Definition at line 290 of file tbb_bind.cpp.
References __TBB_ASSERT, tbb::internal::platform_topology::instance(), and tbb::internal::binding_handler::restore_previous_affinity_mask().
|
inline |
Definition at line 232 of file tbb_misc.h.
References do_once_executed.
Referenced by atomic_do_once().
|
inline |
Definition at line 238 of file tbb_misc.h.
References do_once_executed, and do_once_uninitialized.
void __TBB_EXPORTED_FUNC tbb::internal::runtime_warning | ( | const char * | format, |
... | |||
) |
Report a runtime warning.
Definition at line 85 of file tbb_assert_impl.h.
Referenced by tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::clear(), tbb::internal::governor::create_rml_server(), tbb::internal::market::destroy(), tbb::internal::market::global_market(), tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::rehash(), and tbb::internal::governor::release_resources().
stored_pack<Types...> tbb::internal::save_pack | ( | Types &&... | types | ) |
Definition at line 185 of file _template_helpers.h.
void tbb::internal::Scheduler_OneTimeInitialization | ( | bool | itt_present | ) |
Defined in scheduler.cpp.
Definition at line 52 of file scheduler.cpp.
References __TBB_ASSERT, AllocateSchedulerPtr, tbb::task_group_context::low_unused_state_bit, and num_priority_levels.
Referenced by DoOneTimeInitializations().
|
inline |
Definition at line 49 of file task_stream.h.
References __TBB_ASSERT, __TBB_AtomicOR(), and one.
Referenced by tbb::internal::task_stream< num_priority_levels >::push(), and tbb::internal::task_stream< num_priority_levels >::try_push().
void tbb::internal::spin_wait_until_eq | ( | const volatile T & | location, |
const U | value | ||
) |
Spin UNTIL the value of the variable is equal to a given value.
T and U should be comparable types.
Definition at line 399 of file tbb_machine.h.
References tbb::internal::atomic_backoff::pause(), and value.
Referenced by tbb::queuing_rw_mutex::scoped_lock::acquire(), tbb::internal::micro_queue::pop(), tbb::strict_ppl::internal::micro_queue< Value >::pop(), tbb::interface6::internal::aggregator_generic< internal::queueing_port::queueing_port_operation >::start_handle_operations(), tbb::interface6::aggregator_ext< internal::basic_handler >::start_handle_operations(), and tbb::queuing_rw_mutex::scoped_lock::wait_for_release_of_internal_lock().
void tbb::internal::spin_wait_while | ( | predicate_type | condition | ) |
Definition at line 405 of file tbb_machine.h.
References tbb::internal::atomic_backoff::pause().
Referenced by tbb::internal::concurrent_vector_base_v3::helper::acquire_segment(), tbb::internal::concurrent_vector_base_v3::helper::enable_segment(), and tbb::internal::concurrent_vector_base_v3::helper::get_segment_value().
void tbb::internal::spin_wait_while_eq | ( | const volatile T & | location, |
U | value | ||
) |
Spin WHILE the value of the variable is equal to a given value.
T and U should be comparable types.
Definition at line 391 of file tbb_machine.h.
References tbb::internal::atomic_backoff::pause(), and value.
Referenced by tbb::queuing_mutex::scoped_lock::acquire(), tbb::queuing_rw_mutex::scoped_lock::acquire(), atomic_do_once(), tbb::queuing_rw_mutex::scoped_lock::downgrade_to_reader(), tbb::internal::concurrent_vector_base_v3::helper::enable_segment(), tbb::interface6::internal::aggregator_generic< internal::queueing_port::queueing_port_operation >::execute(), tbb::interface6::aggregator_ext< internal::basic_handler >::execute_impl(), tbb::internal::concurrent_vector_base_v3::internal_grow_to_at_least_with_result(), tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::operator[](), tbb::internal::micro_queue::pop(), tbb::strict_ppl::internal::micro_queue< Value >::pop(), tbb::queuing_mutex::scoped_lock::release(), tbb::queuing_rw_mutex::scoped_lock::release(), and tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer().
void tbb::internal::suppress_unused_warning | ( | const T1 & | ) |
Utility template function to prevent "unused" warnings by various compilers.
Definition at line 398 of file tbb_stddef.h.
Referenced by tbb::internal::allocate_additional_child_of_proxy::allocate_additional_child_of_proxy(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::check_range(), tbb::internal::mail_outbox::construct(), tbb::internal::allocator_traits< allocator_type >::destroy(), DoOneTimeInitializations(), tbb::flow::interface11::opencl_factory< default_device_filter >::finalize_callback(), tbb::internal::generic_scheduler::generic_scheduler(), itt_set_sync_name_v3(), tbb::internal::rml::padded_private_worker::padded_private_worker(), tbb::flow::interface11::opencl_async_msg< T, Factory >::register_callback_func(), internal::decrementer< T, DecrementType, typename tbb::internal::enable_if< tbb::internal::is_integral< DecrementType >::value, void >::type >::reset_receiver(), internal::queueing_port< T >::reset_receiver(), internal::key_matching_port< TraitsType >::reset_receiver(), tbb::spin_mutex::scoped_lock::scoped_lock(), and tbb::internal::governor::sign_off().
void tbb::internal::suppress_unused_warning | ( | const T1 & | , |
const T2 & | |||
) |
Definition at line 399 of file tbb_stddef.h.
void tbb::internal::suppress_unused_warning | ( | const T1 & | , |
const T2 & | , | ||
const T3 & | |||
) |
Definition at line 400 of file tbb_stddef.h.
|
inline |
Definition at line 284 of file concurrent_vector.h.
void tbb::internal::swap | ( | atomic< T > & | lhs, |
atomic< T > & | rhs | ||
) |
Definition at line 564 of file atomic.h.
Referenced by allocator_swap(), tbb::interface6::enumerable_thread_specific< T, my_alloc, ets_no_key >::internal_swap(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::operator=(), tbb::internal::node_handle_base< Key, Node, Allocator >::swap(), tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::swap(), tbb::interface5::internal::split_ordered_list< value_type, typename Traits::allocator_type >::swap(), tbb::interface10::internal::concurrent_skip_list< Traits >::swap(), and tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::swap().
|
inline |
Definition at line 189 of file co_context.h.
References __TBB_ASSERT_EX, and tbb::internal::coroutine_type::my_context.
Referenced by tbb::internal::co_context::resume().
tbb_thread_v3::id tbb::internal::thread_get_id_v3 | ( | ) |
Definition at line 139 of file tbb_thread.cpp.
References id.
Referenced by tbb::this_tbb_thread::get_id().
void tbb::internal::thread_sleep_v3 | ( | const tick_count::interval_t & | i | ) |
Definition at line 164 of file tbb_thread.cpp.
References tbb::tick_count::now(), and tbb::tick_count::interval_t::seconds().
Referenced by tbb::this_tbb_thread::sleep().
void tbb::internal::thread_yield_v3 | ( | ) |
Definition at line 159 of file tbb_thread.cpp.
References __TBB_Yield.
Referenced by tbb::this_tbb_thread::yield().
void tbb::internal::throw_bad_last_alloc_exception_v4 | ( | ) |
Obsolete.
Definition at line 122 of file tbb_misc.cpp.
References eid_bad_last_alloc, and throw_exception_v4().
|
inline |
Versionless convenience wrapper for throw_exception_v4()
Definition at line 105 of file tbb_exception.h.
References throw_exception_v4().
Referenced by tbb::interface6::memory_pool_allocator< T, P >::allocate(), tbb::strict_ppl::concurrent_queue< T, A >::allocate_block(), tbb::concurrent_bounded_queue< T, A >::allocate_page(), tbb::internal::concurrent_vector_base_v3::helper::allocate_segment(), allocate_via_handler_v3(), tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >::at(), tbb::internal::concurrent_monitor::commit_wait(), tbb::interface6::fixed_pool::fixed_pool(), tbb::internal::concurrent_queue_base_v3::internal_insert_item(), tbb::internal::concurrent_queue_base_v3::internal_pop(), tbb::internal::concurrent_vector_base_v3::internal_reserve(), tbb::concurrent_vector< padded_element, padded_allocator_type >::internal_subscript_with_exceptions(), tbb::internal::concurrent_vector_base_v3::internal_throw_exception(), tbb::strict_ppl::internal::concurrent_queue_base_v3< Value >::internal_throw_exception(), tbb::internal::concurrent_queue_base_v3::internal_throw_exception(), tbb::internal::critical_section_v4::lock(), tbb::task_handle< F >::mark_scheduled(), tbb::interface5::internal::concurrent_unordered_base< concurrent_unordered_map_traits< Key, T, internal::hash_compare< Key, Hasher, Key_equality >, Allocator, false > >::max_load_factor(), tbb::interface6::memory_pool< Alloc >::memory_pool(), NFS_Allocate(), tbb::strict_ppl::parallel_for_impl(), tbb::internal::micro_queue::push(), tbb::interface5::concurrent_priority_queue< graph_task *, graph_task_comparator >::push(), tbb::strict_ppl::internal::micro_queue< Value >::spin_wait_until_my_turn(), internal::tagged_msg< TagType, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::variant::variant_cast_to(), and tbb::internal::task_group_base::~task_group_base().
void tbb::internal::throw_exception_v4 | ( | exception_id | eid | ) |
Gathers all throw operators in one place.
Its purpose is to minimize code bloat that can be caused by throw operators scattered in multiple places, especially in templates.
Definition at line 126 of file tbb_misc.cpp.
References __TBB_ASSERT, DO_THROW, eid_bad_alloc, eid_bad_last_alloc, eid_bad_tagged_msg_cast, eid_condvar_wait_failed, eid_improper_lock, eid_index_range_error, eid_invalid_key, eid_invalid_load_factor, eid_invalid_multiple_scheduling, eid_invalid_swap, eid_max, eid_missing_wait, eid_nonpositive_step, eid_operation_not_permitted, eid_out_of_range, eid_possible_deadlock, eid_reservation_length_error, eid_reserved, eid_segment_range_error, and eid_user_abort.
Referenced by throw_bad_last_alloc_exception_v4(), and throw_exception().
|
static |
Definition at line 68 of file tbb_main.cpp.
|
static |
Padding in order to prevent false sharing.
Definition at line 34 of file tbb_main.cpp.
Referenced by DoOneTimeInitializations().
generic_scheduler *(* tbb::internal::AllocateSchedulerPtr)(market &, bool) |
Pointer to the scheduler factory function.
Defined in tbb_main.cpp
Definition at line 75 of file tbb_main.cpp.
Referenced by allocate_scheduler(), and Scheduler_OneTimeInitialization().
|
static |
Definition at line 507 of file tbb_main.cpp.
Referenced by tbb::internal::market::app_parallelism_limit().
|
static |
Definition at line 510 of file tbb_main.cpp.
Referenced by tbb::interface9::global_control::active_value(), tbb::interface9::global_control::internal_create(), and tbb::interface9::global_control::internal_destroy().
Handler for memory deallocation.
Definition at line 61 of file cache_aligned_allocator.cpp.
Referenced by DummyFree(), initialize_handler_pointers(), and is_malloc_used_v3().
|
static |
Definition at line 131 of file cache_aligned_allocator.cpp.
Referenced by initialize_cache_aligned_allocator().
|
static |
Handler for memory allocation.
Definition at line 58 of file cache_aligned_allocator.cpp.
Referenced by DummyMalloc(), initialize_handler_pointers(), and is_malloc_used_v3().
|
static |
Table describing how to link the handlers.
Definition at line 82 of file cache_aligned_allocator.cpp.
Referenced by initialize_handler_pointers().
const size_t tbb::internal::MByte = 1024*1024 |
Definition at line 45 of file tbb_misc.h.
Referenced by tbb::internal::generic_scheduler::init_stack_info().
|
static |
Definition at line 165 of file cache_aligned_allocator.cpp.
Referenced by NFS_Allocate(), NFS_GetLineSize(), and padded_free().
const isolation_tag tbb::internal::no_isolation = 0 |
Definition at line 144 of file task.h.
Referenced by tbb::internal::generic_scheduler::allocate_task(), tbb::internal::generic_scheduler::get_task(), tbb::internal::mail_outbox::internal_pop(), tbb::internal::custom_scheduler< SchedulerTraits >::local_wait_for_all(), tbb::internal::arena::process(), tbb::internal::custom_scheduler< SchedulerTraits >::process_bypass_loop(), tbb::internal::custom_scheduler< SchedulerTraits >::receive_or_steal_task(), tbb::internal::generic_scheduler::steal_task_from(), and tbb::internal::custom_scheduler< SchedulerTraits >::tally_completion_of_predecessor().
const uintptr_t tbb::internal::NUM_NOTIFY_TYPES = 4 |
Definition at line 131 of file tbb_profiling.h.
|
static |
Definition at line 129 of file scheduler_common.h.
Referenced by tbb::internal::arena::has_enqueued_tasks(), tbb::internal::custom_scheduler< SchedulerTraits >::local_wait_for_all(), tbb::internal::arena::on_thread_leaving(), tbb::internal::arena::restore_priority_if_need(), Scheduler_OneTimeInitialization(), and tbb::internal::market::try_destroy_arena().
const population_t tbb::internal::one = 1 |
Definition at line 47 of file task_stream.h.
Referenced by clear_one_bit(), is_bit_set(), and set_one_bit().
|
static |
Handler for padded memory allocation.
Definition at line 76 of file cache_aligned_allocator.cpp.
Referenced by dummy_padded_allocate(), and initialize_handler_pointers().
|
static |
Handler for padded memory deallocation.
Definition at line 79 of file cache_aligned_allocator.cpp.
Referenced by dummy_padded_free(), and initialize_handler_pointers().
|
static |
Definition at line 204 of file tbb_misc.cpp.
Referenced by PrintExtraVersionInfo(), and PrintVersion().
|
static |
Definition at line 313 of file task.h.
Referenced by tbb::interface7::task_arena::enqueue(), and tbb::internal::arena::enqueue_task().
|
static |
|
static |
Definition at line 508 of file tbb_main.cpp.
|
static |
Definition at line 156 of file concurrent_queue.cpp.
Referenced by tbb::internal::concurrent_queue_base_v3::internal_finish_clear(), and tbb::internal::micro_queue::make_invalid().
const size_t tbb::internal::task_alignment = 32 |
Alignment for a task object.
Definition at line 155 of file scheduler_common.h.
const size_t tbb::internal::task_prefix_reservation_size = ((sizeof(internal::task_prefix)-1)/task_alignment+1)*task_alignment |
Number of bytes reserved for a task prefix.
If not exactly sizeof(task_prefix), the extra bytes precede the task_prefix.
Definition at line 159 of file scheduler_common.h.
Referenced by tbb::internal::generic_scheduler::allocate_task(), tbb::internal::generic_scheduler::deallocate_task(), and tbb::internal::mail_outbox::drain().
const size_t tbb::internal::ThreadStackSize = (sizeof(uintptr_t) <= 4 ? 2 : 4 )*MByte |
Definition at line 54 of file tbb_misc.h.
Referenced by tbb::internal::stack_size_control::default_value().
|
static |
Bad allocation marker.
Definition at line 73 of file concurrent_vector.h.
Referenced by tbb::internal::concurrent_vector_base_v3::segment_t::store().
|
static |
The leading "\0" is here so that applying "strings" to the binary delivers a clean result.
Definition at line 202 of file tbb_misc.cpp.
Referenced by PrintVersion().