1; Copyright (c) 2005-2020 Intel Corporation
2;
3; Licensed under the Apache License, Version 2.0 (the "License");
4; you may not use this file except in compliance with the License.
5; You may obtain a copy of the License at
6;
7;     http://www.apache.org/licenses/LICENSE-2.0
8;
9; Unless required by applicable law or agreed to in writing, software
10; distributed under the License is distributed on an "AS IS" BASIS,
11; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12; See the License for the specific language governing permissions and
13; limitations under the License.
14
15#include "tbb/tbb_config.h"
16
17// Assembly-language support that is called directly by clients
18// __TBB_SYMBOL( __TBB_machine_cmpswp1 )
19// __TBB_SYMBOL( __TBB_machine_cmpswp2 )
20// __TBB_SYMBOL( __TBB_machine_cmpswp4 )
21__TBB_SYMBOL( __TBB_machine_cmpswp8 )
22// __TBB_SYMBOL( __TBB_machine_fetchadd1 )
23// __TBB_SYMBOL( __TBB_machine_fetchadd2 )
24// __TBB_SYMBOL( __TBB_machine_fetchadd4 )
25__TBB_SYMBOL( __TBB_machine_fetchadd8 )
26// __TBB_SYMBOL( __TBB_machine_fetchstore1 )
27// __TBB_SYMBOL( __TBB_machine_fetchstore2 )
28// __TBB_SYMBOL( __TBB_machine_fetchstore4 )
29__TBB_SYMBOL( __TBB_machine_fetchstore8 )
30__TBB_SYMBOL( __TBB_machine_store8 )
31__TBB_SYMBOL( __TBB_machine_load8 )
32__TBB_SYMBOL( __TBB_machine_trylockbyte )
33__TBB_SYMBOL( __TBB_machine_try_lock_elided )
34__TBB_SYMBOL( __TBB_machine_unlock_elided )
35__TBB_SYMBOL( __TBB_machine_is_in_transaction )
36
37// cache_aligned_allocator.cpp
38__TBB_SYMBOL( ?NFS_Allocate@internal@tbb@@YAPAXIIPAX@Z )
39__TBB_SYMBOL( ?NFS_GetLineSize@internal@tbb@@YAIXZ )
40__TBB_SYMBOL( ?NFS_Free@internal@tbb@@YAXPAX@Z )
41__TBB_SYMBOL( ?allocate_via_handler_v3@internal@tbb@@YAPAXI@Z )
42__TBB_SYMBOL( ?deallocate_via_handler_v3@internal@tbb@@YAXPAX@Z )
43__TBB_SYMBOL( ?is_malloc_used_v3@internal@tbb@@YA_NXZ )
44
45// task.cpp v3
46__TBB_SYMBOL( ?allocate@allocate_additional_child_of_proxy@internal@tbb@@QBEAAVtask@3@I@Z )
47__TBB_SYMBOL( ?allocate@allocate_child_proxy@internal@tbb@@QBEAAVtask@3@I@Z )
48__TBB_SYMBOL( ?allocate@allocate_continuation_proxy@internal@tbb@@QBEAAVtask@3@I@Z )
49__TBB_SYMBOL( ?allocate@allocate_root_proxy@internal@tbb@@SAAAVtask@3@I@Z )
50__TBB_SYMBOL( ?destroy@task_base@internal@interface5@tbb@@SAXAAVtask@4@@Z )
51__TBB_SYMBOL( ?free@allocate_additional_child_of_proxy@internal@tbb@@QBEXAAVtask@3@@Z )
52__TBB_SYMBOL( ?free@allocate_child_proxy@internal@tbb@@QBEXAAVtask@3@@Z )
53__TBB_SYMBOL( ?free@allocate_continuation_proxy@internal@tbb@@QBEXAAVtask@3@@Z )
54__TBB_SYMBOL( ?free@allocate_root_proxy@internal@tbb@@SAXAAVtask@3@@Z )
55__TBB_SYMBOL( ?internal_set_ref_count@task@tbb@@AAEXH@Z )
56__TBB_SYMBOL( ?internal_decrement_ref_count@task@tbb@@AAEHXZ )
57__TBB_SYMBOL( ?is_owned_by_current_thread@task@tbb@@QBE_NXZ )
58__TBB_SYMBOL( ?note_affinity@task@tbb@@UAEXG@Z )
59__TBB_SYMBOL( ?resize@affinity_partitioner_base_v3@internal@tbb@@AAEXI@Z )
60__TBB_SYMBOL( ?self@task@tbb@@SAAAV12@XZ )
61__TBB_SYMBOL( ?spawn_and_wait_for_all@task@tbb@@QAEXAAVtask_list@2@@Z )
62__TBB_SYMBOL( ?default_num_threads@task_scheduler_init@tbb@@SAHXZ )
63__TBB_SYMBOL( ?initialize@task_scheduler_init@tbb@@QAEXHI@Z )
64__TBB_SYMBOL( ?initialize@task_scheduler_init@tbb@@QAEXH@Z )
65__TBB_SYMBOL( ?terminate@task_scheduler_init@tbb@@QAEXXZ )
66__TBB_SYMBOL( ?internal_blocking_terminate@task_scheduler_init@tbb@@AAE_N_N@Z )
67#if __TBB_SCHEDULER_OBSERVER
68__TBB_SYMBOL( ?observe@task_scheduler_observer_v3@internal@tbb@@QAEX_N@Z )
69#endif /* __TBB_SCHEDULER_OBSERVER */
70
71/* arena.cpp */
72__TBB_SYMBOL( ?internal_max_concurrency@task_arena_base@internal@interface7@tbb@@KAHPBVtask_arena@34@@Z )
73__TBB_SYMBOL( ?internal_current_slot@task_arena_base@internal@interface7@tbb@@KAHXZ )
74__TBB_SYMBOL( ?internal_initialize@task_arena_base@internal@interface7@tbb@@IAEXXZ )
75__TBB_SYMBOL( ?internal_terminate@task_arena_base@internal@interface7@tbb@@IAEXXZ )
76__TBB_SYMBOL( ?internal_attach@task_arena_base@internal@interface7@tbb@@IAEXXZ )
77__TBB_SYMBOL( ?internal_enqueue@task_arena_base@internal@interface7@tbb@@IBEXAAVtask@4@H@Z )
78__TBB_SYMBOL( ?internal_execute@task_arena_base@internal@interface7@tbb@@IBEXAAVdelegate_base@234@@Z )
79__TBB_SYMBOL( ?internal_wait@task_arena_base@internal@interface7@tbb@@IBEXXZ )
80#if __TBB_NUMA_SUPPORT
81__TBB_SYMBOL( ?nodes_count@numa_topology@internal@tbb@@YAIXZ )
82__TBB_SYMBOL( ?fill@numa_topology@internal@tbb@@YAXPAH@Z )
83__TBB_SYMBOL( ?default_concurrency@numa_topology@internal@tbb@@YAHH@Z )
84#endif /*__TBB_NUMA_SUPPORT*/
85#if __TBB_TASK_ISOLATION
86__TBB_SYMBOL( ?isolate_within_arena@internal@interface7@tbb@@YAXAAVdelegate_base@123@H@Z )
87#endif /* __TBB_TASK_ISOLATION */
88
89#if !TBB_NO_LEGACY
90// task_v2.cpp
91__TBB_SYMBOL( ?destroy@task@tbb@@QAEXAAV12@@Z )
92#endif
93
94// exception handling support
95#if __TBB_TASK_GROUP_CONTEXT
96__TBB_SYMBOL( ?allocate@allocate_root_with_context_proxy@internal@tbb@@QBEAAVtask@3@I@Z )
97__TBB_SYMBOL( ?free@allocate_root_with_context_proxy@internal@tbb@@QBEXAAVtask@3@@Z )
98__TBB_SYMBOL( ?change_group@task@tbb@@QAEXAAVtask_group_context@2@@Z )
99__TBB_SYMBOL( ?is_group_execution_cancelled@task_group_context@tbb@@QBE_NXZ )
100__TBB_SYMBOL( ?cancel_group_execution@task_group_context@tbb@@QAE_NXZ )
101__TBB_SYMBOL( ?reset@task_group_context@tbb@@QAEXXZ )
102__TBB_SYMBOL( ?capture_fp_settings@task_group_context@tbb@@QAEXXZ )
103__TBB_SYMBOL( ?init@task_group_context@tbb@@IAEXXZ )
104__TBB_SYMBOL( ?register_pending_exception@task_group_context@tbb@@QAEXXZ )
105__TBB_SYMBOL( ??1task_group_context@tbb@@QAE@XZ )
106#if __TBB_TASK_PRIORITY
107__TBB_SYMBOL( ?set_priority@task_group_context@tbb@@QAEXW4priority_t@2@@Z )
108__TBB_SYMBOL( ?priority@task_group_context@tbb@@QBE?AW4priority_t@2@XZ )
109#endif /* __TBB_TASK_PRIORITY */
110__TBB_SYMBOL( ?name@captured_exception@tbb@@UBEPBDXZ )
111__TBB_SYMBOL( ?what@captured_exception@tbb@@UBEPBDXZ )
112__TBB_SYMBOL( ??1captured_exception@tbb@@UAE@XZ )
113__TBB_SYMBOL( ?move@captured_exception@tbb@@UAEPAV12@XZ )
114__TBB_SYMBOL( ?destroy@captured_exception@tbb@@UAEXXZ )
115__TBB_SYMBOL( ?set@captured_exception@tbb@@QAEXPBD0@Z )
116__TBB_SYMBOL( ?clear@captured_exception@tbb@@QAEXXZ )
117#endif /* __TBB_TASK_GROUP_CONTEXT */
118
119// Symbols for exceptions thrown from TBB
120__TBB_SYMBOL( ?throw_bad_last_alloc_exception_v4@internal@tbb@@YAXXZ )
121__TBB_SYMBOL( ?throw_exception_v4@internal@tbb@@YAXW4exception_id@12@@Z )
122__TBB_SYMBOL( ?what@bad_last_alloc@tbb@@UBEPBDXZ )
123__TBB_SYMBOL( ?what@missing_wait@tbb@@UBEPBDXZ )
124__TBB_SYMBOL( ?what@invalid_multiple_scheduling@tbb@@UBEPBDXZ )
125__TBB_SYMBOL( ?what@improper_lock@tbb@@UBEPBDXZ )
126__TBB_SYMBOL( ?what@user_abort@tbb@@UBEPBDXZ )
127
128// tbb_misc.cpp
129__TBB_SYMBOL( ?assertion_failure@tbb@@YAXPBDH00@Z )
130__TBB_SYMBOL( ?get_initial_auto_partitioner_divisor@internal@tbb@@YAIXZ )
131__TBB_SYMBOL( ?handle_perror@internal@tbb@@YAXHPBD@Z )
132__TBB_SYMBOL( ?set_assertion_handler@tbb@@YAP6AXPBDH00@ZP6AX0H00@Z@Z )
133__TBB_SYMBOL( ?runtime_warning@internal@tbb@@YAXPBDZZ )
134__TBB_SYMBOL( TBB_runtime_interface_version )
135
136// tbb_main.cpp
137__TBB_SYMBOL( ?itt_load_pointer_with_acquire_v3@internal@tbb@@YAPAXPBX@Z )
138__TBB_SYMBOL( ?itt_store_pointer_with_release_v3@internal@tbb@@YAXPAX0@Z )
139__TBB_SYMBOL( ?call_itt_notify_v5@internal@tbb@@YAXHPAX@Z )
140__TBB_SYMBOL( ?itt_set_sync_name_v3@internal@tbb@@YAXPAXPB_W@Z )
141__TBB_SYMBOL( ?itt_load_pointer_v3@internal@tbb@@YAPAXPBX@Z )
142__TBB_SYMBOL( ?itt_make_task_group_v7@internal@tbb@@YAXW4itt_domain_enum@12@PAX_K12W4string_index@12@@Z )
143__TBB_SYMBOL( ?itt_metadata_str_add_v7@internal@tbb@@YAXW4itt_domain_enum@12@PAX_KW4string_index@12@PBD@Z )
144__TBB_SYMBOL( ?itt_relation_add_v7@internal@tbb@@YAXW4itt_domain_enum@12@PAX_KW4itt_relation@12@12@Z )
145__TBB_SYMBOL( ?itt_task_begin_v7@internal@tbb@@YAXW4itt_domain_enum@12@PAX_K12W4string_index@12@@Z )
146__TBB_SYMBOL( ?itt_task_end_v7@internal@tbb@@YAXW4itt_domain_enum@12@@Z )
147__TBB_SYMBOL( ?itt_region_begin_v9@internal@tbb@@YAXW4itt_domain_enum@12@PAX_K12W4string_index@12@@Z )
148__TBB_SYMBOL( ?itt_region_end_v9@internal@tbb@@YAXW4itt_domain_enum@12@PAX_K@Z )
149__TBB_SYMBOL( ?itt_metadata_ptr_add_v11@internal@tbb@@YAXW4itt_domain_enum@12@PAX_KW4string_index@12@1@Z )
150
151// pipeline.cpp
152__TBB_SYMBOL( ??0pipeline@tbb@@QAE@XZ )
153__TBB_SYMBOL( ??1filter@tbb@@UAE@XZ )
154__TBB_SYMBOL( ??1pipeline@tbb@@UAE@XZ )
155__TBB_SYMBOL( ??_7pipeline@tbb@@6B@ )
156__TBB_SYMBOL( ?add_filter@pipeline@tbb@@QAEXAAVfilter@2@@Z )
157__TBB_SYMBOL( ?clear@pipeline@tbb@@QAEXXZ )
158__TBB_SYMBOL( ?inject_token@pipeline@tbb@@AAEXAAVtask@2@@Z )
159__TBB_SYMBOL( ?run@pipeline@tbb@@QAEXI@Z )
160#if __TBB_TASK_GROUP_CONTEXT
161__TBB_SYMBOL( ?run@pipeline@tbb@@QAEXIAAVtask_group_context@2@@Z )
162#endif
163__TBB_SYMBOL( ?process_item@thread_bound_filter@tbb@@QAE?AW4result_type@12@XZ )
164__TBB_SYMBOL( ?try_process_item@thread_bound_filter@tbb@@QAE?AW4result_type@12@XZ )
165__TBB_SYMBOL( ?set_end_of_input@filter@tbb@@IAEXXZ )
166
167// queuing_rw_mutex.cpp
168__TBB_SYMBOL( ?internal_construct@queuing_rw_mutex@tbb@@QAEXXZ )
169__TBB_SYMBOL( ?acquire@scoped_lock@queuing_rw_mutex@tbb@@QAEXAAV23@_N@Z )
170__TBB_SYMBOL( ?downgrade_to_reader@scoped_lock@queuing_rw_mutex@tbb@@QAE_NXZ )
171__TBB_SYMBOL( ?release@scoped_lock@queuing_rw_mutex@tbb@@QAEXXZ )
172__TBB_SYMBOL( ?upgrade_to_writer@scoped_lock@queuing_rw_mutex@tbb@@QAE_NXZ )
173__TBB_SYMBOL( ?try_acquire@scoped_lock@queuing_rw_mutex@tbb@@QAE_NAAV23@_N@Z )
174
175// reader_writer_lock.cpp
176__TBB_SYMBOL( ?try_lock_read@reader_writer_lock@interface5@tbb@@QAE_NXZ )
177__TBB_SYMBOL( ?try_lock@reader_writer_lock@interface5@tbb@@QAE_NXZ )
178__TBB_SYMBOL( ?unlock@reader_writer_lock@interface5@tbb@@QAEXXZ )
179__TBB_SYMBOL( ?lock_read@reader_writer_lock@interface5@tbb@@QAEXXZ )
180__TBB_SYMBOL( ?lock@reader_writer_lock@interface5@tbb@@QAEXXZ )
181__TBB_SYMBOL( ?internal_construct@reader_writer_lock@interface5@tbb@@AAEXXZ )
182__TBB_SYMBOL( ?internal_destroy@reader_writer_lock@interface5@tbb@@AAEXXZ )
183__TBB_SYMBOL( ?internal_construct@scoped_lock@reader_writer_lock@interface5@tbb@@AAEXAAV234@@Z )
184__TBB_SYMBOL( ?internal_destroy@scoped_lock@reader_writer_lock@interface5@tbb@@AAEXXZ )
185__TBB_SYMBOL( ?internal_construct@scoped_lock_read@reader_writer_lock@interface5@tbb@@AAEXAAV234@@Z )
186__TBB_SYMBOL( ?internal_destroy@scoped_lock_read@reader_writer_lock@interface5@tbb@@AAEXXZ )
187
188#if !TBB_NO_LEGACY
189// spin_rw_mutex.cpp v2
190__TBB_SYMBOL( ?internal_acquire_reader@spin_rw_mutex@tbb@@CAXPAV12@@Z )
191__TBB_SYMBOL( ?internal_acquire_writer@spin_rw_mutex@tbb@@CA_NPAV12@@Z )
192__TBB_SYMBOL( ?internal_downgrade@spin_rw_mutex@tbb@@CAXPAV12@@Z )
193__TBB_SYMBOL( ?internal_itt_releasing@spin_rw_mutex@tbb@@CAXPAV12@@Z )
194__TBB_SYMBOL( ?internal_release_reader@spin_rw_mutex@tbb@@CAXPAV12@@Z )
195__TBB_SYMBOL( ?internal_release_writer@spin_rw_mutex@tbb@@CAXPAV12@@Z )
196__TBB_SYMBOL( ?internal_upgrade@spin_rw_mutex@tbb@@CA_NPAV12@@Z )
197__TBB_SYMBOL( ?internal_try_acquire_writer@spin_rw_mutex@tbb@@CA_NPAV12@@Z )
198__TBB_SYMBOL( ?internal_try_acquire_reader@spin_rw_mutex@tbb@@CA_NPAV12@@Z )
199#endif
200
201// spin_rw_mutex v3
202__TBB_SYMBOL( ?internal_construct@spin_rw_mutex_v3@tbb@@AAEXXZ )
203__TBB_SYMBOL( ?internal_upgrade@spin_rw_mutex_v3@tbb@@AAE_NXZ )
204__TBB_SYMBOL( ?internal_downgrade@spin_rw_mutex_v3@tbb@@AAEXXZ )
205__TBB_SYMBOL( ?internal_acquire_reader@spin_rw_mutex_v3@tbb@@AAEXXZ )
206__TBB_SYMBOL( ?internal_acquire_writer@spin_rw_mutex_v3@tbb@@AAE_NXZ )
207__TBB_SYMBOL( ?internal_release_reader@spin_rw_mutex_v3@tbb@@AAEXXZ )
208__TBB_SYMBOL( ?internal_release_writer@spin_rw_mutex_v3@tbb@@AAEXXZ )
209__TBB_SYMBOL( ?internal_try_acquire_reader@spin_rw_mutex_v3@tbb@@AAE_NXZ )
210__TBB_SYMBOL( ?internal_try_acquire_writer@spin_rw_mutex_v3@tbb@@AAE_NXZ )
211
212// x86_rtm_rw_mutex.cpp
213__TBB_SYMBOL( ?internal_construct@x86_rtm_rw_mutex@internal@interface8@tbb@@AAEXXZ )
214__TBB_SYMBOL( ?internal_release@x86_rtm_rw_mutex@internal@interface8@tbb@@AAEXAAVscoped_lock@1234@@Z )
215__TBB_SYMBOL( ?internal_acquire_writer@x86_rtm_rw_mutex@internal@interface8@tbb@@AAEXAAVscoped_lock@1234@_N@Z )
216__TBB_SYMBOL( ?internal_acquire_reader@x86_rtm_rw_mutex@internal@interface8@tbb@@AAEXAAVscoped_lock@1234@_N@Z )
217__TBB_SYMBOL( ?internal_upgrade@x86_rtm_rw_mutex@internal@interface8@tbb@@AAE_NAAVscoped_lock@1234@@Z )
218__TBB_SYMBOL( ?internal_downgrade@x86_rtm_rw_mutex@internal@interface8@tbb@@AAE_NAAVscoped_lock@1234@@Z )
219__TBB_SYMBOL( ?internal_try_acquire_writer@x86_rtm_rw_mutex@internal@interface8@tbb@@AAE_NAAVscoped_lock@1234@@Z )
220
221// spin_mutex.cpp
222__TBB_SYMBOL( ?internal_construct@spin_mutex@tbb@@QAEXXZ )
223__TBB_SYMBOL( ?internal_acquire@scoped_lock@spin_mutex@tbb@@AAEXAAV23@@Z )
224__TBB_SYMBOL( ?internal_release@scoped_lock@spin_mutex@tbb@@AAEXXZ )
225__TBB_SYMBOL( ?internal_try_acquire@scoped_lock@spin_mutex@tbb@@AAE_NAAV23@@Z )
226
227// mutex.cpp
228__TBB_SYMBOL( ?internal_acquire@scoped_lock@mutex@tbb@@AAEXAAV23@@Z )
229__TBB_SYMBOL( ?internal_release@scoped_lock@mutex@tbb@@AAEXXZ )
230__TBB_SYMBOL( ?internal_try_acquire@scoped_lock@mutex@tbb@@AAE_NAAV23@@Z )
231__TBB_SYMBOL( ?internal_construct@mutex@tbb@@AAEXXZ )
232__TBB_SYMBOL( ?internal_destroy@mutex@tbb@@AAEXXZ )
233
234// recursive_mutex.cpp
235__TBB_SYMBOL( ?internal_acquire@scoped_lock@recursive_mutex@tbb@@AAEXAAV23@@Z )
236__TBB_SYMBOL( ?internal_release@scoped_lock@recursive_mutex@tbb@@AAEXXZ )
237__TBB_SYMBOL( ?internal_try_acquire@scoped_lock@recursive_mutex@tbb@@AAE_NAAV23@@Z )
238__TBB_SYMBOL( ?internal_construct@recursive_mutex@tbb@@AAEXXZ )
239__TBB_SYMBOL( ?internal_destroy@recursive_mutex@tbb@@AAEXXZ )
240
241// queuing_mutex.cpp
242__TBB_SYMBOL( ?internal_construct@queuing_mutex@tbb@@QAEXXZ )
243__TBB_SYMBOL( ?acquire@scoped_lock@queuing_mutex@tbb@@QAEXAAV23@@Z )
244__TBB_SYMBOL( ?release@scoped_lock@queuing_mutex@tbb@@QAEXXZ )
245__TBB_SYMBOL( ?try_acquire@scoped_lock@queuing_mutex@tbb@@QAE_NAAV23@@Z )
246
247// critical_section.cpp
248__TBB_SYMBOL( ?internal_construct@critical_section_v4@internal@tbb@@QAEXXZ )
249
250#if !TBB_NO_LEGACY
251// concurrent_hash_map.cpp
252__TBB_SYMBOL( ?internal_grow_predicate@hash_map_segment_base@internal@tbb@@QBE_NXZ )
253
254// concurrent_queue.cpp v2
255__TBB_SYMBOL( ?advance@concurrent_queue_iterator_base@internal@tbb@@IAEXXZ )
256__TBB_SYMBOL( ?assign@concurrent_queue_iterator_base@internal@tbb@@IAEXABV123@@Z )
257__TBB_SYMBOL( ?internal_size@concurrent_queue_base@internal@tbb@@IBEHXZ )
258__TBB_SYMBOL( ??0concurrent_queue_base@internal@tbb@@IAE@I@Z )
259__TBB_SYMBOL( ??0concurrent_queue_iterator_base@internal@tbb@@IAE@ABVconcurrent_queue_base@12@@Z )
260__TBB_SYMBOL( ??1concurrent_queue_base@internal@tbb@@MAE@XZ )
261__TBB_SYMBOL( ??1concurrent_queue_iterator_base@internal@tbb@@IAE@XZ )
262__TBB_SYMBOL( ?internal_pop@concurrent_queue_base@internal@tbb@@IAEXPAX@Z )
263__TBB_SYMBOL( ?internal_pop_if_present@concurrent_queue_base@internal@tbb@@IAE_NPAX@Z )
264__TBB_SYMBOL( ?internal_push@concurrent_queue_base@internal@tbb@@IAEXPBX@Z )
265__TBB_SYMBOL( ?internal_push_if_not_full@concurrent_queue_base@internal@tbb@@IAE_NPBX@Z )
266__TBB_SYMBOL( ?internal_set_capacity@concurrent_queue_base@internal@tbb@@IAEXHI@Z )
267#endif
268
269// concurrent_queue v3
270__TBB_SYMBOL( ??1concurrent_queue_iterator_base_v3@internal@tbb@@IAE@XZ )
271__TBB_SYMBOL( ??0concurrent_queue_iterator_base_v3@internal@tbb@@IAE@ABVconcurrent_queue_base_v3@12@@Z )
272__TBB_SYMBOL( ??0concurrent_queue_iterator_base_v3@internal@tbb@@IAE@ABVconcurrent_queue_base_v3@12@I@Z )
273__TBB_SYMBOL( ?advance@concurrent_queue_iterator_base_v3@internal@tbb@@IAEXXZ )
274__TBB_SYMBOL( ?assign@concurrent_queue_iterator_base_v3@internal@tbb@@IAEXABV123@@Z )
275__TBB_SYMBOL( ??0concurrent_queue_base_v3@internal@tbb@@IAE@I@Z )
276__TBB_SYMBOL( ??1concurrent_queue_base_v3@internal@tbb@@MAE@XZ )
277__TBB_SYMBOL( ?internal_pop@concurrent_queue_base_v3@internal@tbb@@IAEXPAX@Z )
278__TBB_SYMBOL( ?internal_pop_if_present@concurrent_queue_base_v3@internal@tbb@@IAE_NPAX@Z )
279__TBB_SYMBOL( ?internal_abort@concurrent_queue_base_v3@internal@tbb@@IAEXXZ )
280__TBB_SYMBOL( ?internal_push@concurrent_queue_base_v3@internal@tbb@@IAEXPBX@Z )
281__TBB_SYMBOL( ?internal_push_move@concurrent_queue_base_v8@internal@tbb@@IAEXPBX@Z )
282__TBB_SYMBOL( ?internal_push_if_not_full@concurrent_queue_base_v3@internal@tbb@@IAE_NPBX@Z )
283__TBB_SYMBOL( ?internal_push_move_if_not_full@concurrent_queue_base_v8@internal@tbb@@IAE_NPBX@Z )
284__TBB_SYMBOL( ?internal_size@concurrent_queue_base_v3@internal@tbb@@IBEHXZ )
285__TBB_SYMBOL( ?internal_empty@concurrent_queue_base_v3@internal@tbb@@IBE_NXZ )
286__TBB_SYMBOL( ?internal_set_capacity@concurrent_queue_base_v3@internal@tbb@@IAEXHI@Z )
287__TBB_SYMBOL( ?internal_finish_clear@concurrent_queue_base_v3@internal@tbb@@IAEXXZ )
288__TBB_SYMBOL( ?internal_throw_exception@concurrent_queue_base_v3@internal@tbb@@IBEXXZ )
289__TBB_SYMBOL( ?assign@concurrent_queue_base_v3@internal@tbb@@IAEXABV123@@Z )
290__TBB_SYMBOL( ?move_content@concurrent_queue_base_v8@internal@tbb@@IAEXAAV123@@Z )
291
292#if !TBB_NO_LEGACY
293// concurrent_vector.cpp v2
294__TBB_SYMBOL( ?internal_assign@concurrent_vector_base@internal@tbb@@IAEXABV123@IP6AXPAXI@ZP6AX1PBXI@Z4@Z )
295__TBB_SYMBOL( ?internal_capacity@concurrent_vector_base@internal@tbb@@IBEIXZ )
296__TBB_SYMBOL( ?internal_clear@concurrent_vector_base@internal@tbb@@IAEXP6AXPAXI@Z_N@Z )
297__TBB_SYMBOL( ?internal_copy@concurrent_vector_base@internal@tbb@@IAEXABV123@IP6AXPAXPBXI@Z@Z )
298__TBB_SYMBOL( ?internal_grow_by@concurrent_vector_base@internal@tbb@@IAEIIIP6AXPAXI@Z@Z )
299__TBB_SYMBOL( ?internal_grow_to_at_least@concurrent_vector_base@internal@tbb@@IAEXIIP6AXPAXI@Z@Z )
300__TBB_SYMBOL( ?internal_push_back@concurrent_vector_base@internal@tbb@@IAEPAXIAAI@Z )
301__TBB_SYMBOL( ?internal_reserve@concurrent_vector_base@internal@tbb@@IAEXIII@Z )
302#endif
303
304// concurrent_vector v3
305__TBB_SYMBOL( ??1concurrent_vector_base_v3@internal@tbb@@IAE@XZ )
306__TBB_SYMBOL( ?internal_assign@concurrent_vector_base_v3@internal@tbb@@IAEXABV123@IP6AXPAXI@ZP6AX1PBXI@Z4@Z )
307__TBB_SYMBOL( ?internal_capacity@concurrent_vector_base_v3@internal@tbb@@IBEIXZ )
308__TBB_SYMBOL( ?internal_clear@concurrent_vector_base_v3@internal@tbb@@IAEIP6AXPAXI@Z@Z )
309__TBB_SYMBOL( ?internal_copy@concurrent_vector_base_v3@internal@tbb@@IAEXABV123@IP6AXPAXPBXI@Z@Z )
310__TBB_SYMBOL( ?internal_grow_by@concurrent_vector_base_v3@internal@tbb@@IAEIIIP6AXPAXPBXI@Z1@Z )
311__TBB_SYMBOL( ?internal_grow_to_at_least@concurrent_vector_base_v3@internal@tbb@@IAEXIIP6AXPAXPBXI@Z1@Z )
312__TBB_SYMBOL( ?internal_push_back@concurrent_vector_base_v3@internal@tbb@@IAEPAXIAAI@Z )
313__TBB_SYMBOL( ?internal_reserve@concurrent_vector_base_v3@internal@tbb@@IAEXIII@Z )
314__TBB_SYMBOL( ?internal_compact@concurrent_vector_base_v3@internal@tbb@@IAEPAXIPAXP6AX0I@ZP6AX0PBXI@Z@Z )
315__TBB_SYMBOL( ?internal_swap@concurrent_vector_base_v3@internal@tbb@@IAEXAAV123@@Z )
316__TBB_SYMBOL( ?internal_throw_exception@concurrent_vector_base_v3@internal@tbb@@IBEXI@Z )
317__TBB_SYMBOL( ?internal_resize@concurrent_vector_base_v3@internal@tbb@@IAEXIIIPBXP6AXPAXI@ZP6AX10I@Z@Z )
318__TBB_SYMBOL( ?internal_grow_to_at_least_with_result@concurrent_vector_base_v3@internal@tbb@@IAEIIIP6AXPAXPBXI@Z1@Z )
319
320// tbb_thread
321__TBB_SYMBOL( ?join@tbb_thread_v3@internal@tbb@@QAEXXZ )
322__TBB_SYMBOL( ?detach@tbb_thread_v3@internal@tbb@@QAEXXZ )
323__TBB_SYMBOL( ?internal_start@tbb_thread_v3@internal@tbb@@AAEXP6GIPAX@Z0@Z )
324__TBB_SYMBOL( ?allocate_closure_v3@internal@tbb@@YAPAXI@Z )
325__TBB_SYMBOL( ?free_closure_v3@internal@tbb@@YAXPAX@Z )
326__TBB_SYMBOL( ?hardware_concurrency@tbb_thread_v3@internal@tbb@@SAIXZ )
327__TBB_SYMBOL( ?thread_yield_v3@internal@tbb@@YAXXZ )
328__TBB_SYMBOL( ?thread_sleep_v3@internal@tbb@@YAXABVinterval_t@tick_count@2@@Z )
329__TBB_SYMBOL( ?move_v3@internal@tbb@@YAXAAVtbb_thread_v3@12@0@Z )
330__TBB_SYMBOL( ?thread_get_id_v3@internal@tbb@@YA?AVid@tbb_thread_v3@12@XZ )
331
332// condition_variable
333__TBB_SYMBOL( ?internal_initialize_condition_variable@internal@interface5@tbb@@YAXAATcondvar_impl_t@123@@Z )
334__TBB_SYMBOL( ?internal_condition_variable_wait@internal@interface5@tbb@@YA_NAATcondvar_impl_t@123@PAVmutex@3@PBVinterval_t@tick_count@3@@Z )
335__TBB_SYMBOL( ?internal_condition_variable_notify_one@internal@interface5@tbb@@YAXAATcondvar_impl_t@123@@Z )
336__TBB_SYMBOL( ?internal_condition_variable_notify_all@internal@interface5@tbb@@YAXAATcondvar_impl_t@123@@Z )
337__TBB_SYMBOL( ?internal_destroy_condition_variable@internal@interface5@tbb@@YAXAATcondvar_impl_t@123@@Z )
338
339// global parameter
340__TBB_SYMBOL( ?active_value@global_control@interface9@tbb@@CAIH@Z )
341__TBB_SYMBOL( ?internal_create@global_control@interface9@tbb@@AAEXXZ )
342__TBB_SYMBOL( ?internal_destroy@global_control@interface9@tbb@@AAEXXZ )
343
344#if __TBB_PREVIEW_RESUMABLE_TASKS
345__TBB_SYMBOL( ?internal_suspend@internal@tbb@@YAXPAX0@Z )
346__TBB_SYMBOL( ?internal_resume@internal@tbb@@YAXPAX@Z )
347__TBB_SYMBOL( ?internal_current_suspend_point@internal@tbb@@YAPAXXZ )
348#endif
349
350#undef __TBB_SYMBOL
351