#include "kmp.h"
#include "kmp_i18n.h"
Go to the source code of this file.
Defines | |
#define | KMP_INLINE_SUBR 1 |
#define | USE_CHECKS_COMMON |
Functions | |
void | __kmp_common_destroy (void) |
void | __kmp_common_destroy_gtid (int gtid) |
void | __kmp_common_initialize (void) |
static void | __kmp_copy_common_data (void *pc_addr, struct private_data *d) |
static __forceinline struct shared_common * | __kmp_find_shared_task_common (struct shared_table *tbl, int gtid, void *pc_addr) |
static struct private_data * | __kmp_init_common_data (void *pc_addr, size_t pc_size) |
static __forceinline struct private_common * | __kmp_threadprivate_find_task_common (struct common_table *tbl, int gtid, void *pc_addr) |
void * | __kmpc_threadprivate (ident_t *loc, kmp_int32 global_tid, void *data, size_t size) |
void * | __kmpc_threadprivate_cached (ident_t *loc, kmp_int32 global_tid, void *data, size_t size, void ***cache) |
void | __kmpc_threadprivate_register (ident_t *loc, void *data, kmpc_ctor ctor, kmpc_cctor cctor, kmpc_dtor dtor) |
void | __kmpc_threadprivate_register_vec (ident_t *loc, void *data, kmpc_ctor_vec ctor, kmpc_cctor_vec cctor, kmpc_dtor_vec dtor, size_t vector_length) |
struct private_common * | kmp_threadprivate_insert (int gtid, void *pc_addr, void *data_addr, size_t pc_size) |
void | kmp_threadprivate_insert_private_data (int gtid, void *pc_addr, void *data_addr, size_t pc_size) |
Variables | |
struct shared_table | __kmp_threadprivate_d_table |
#define KMP_INLINE_SUBR 1 |
Definition at line 55 of file kmp_threadprivate.c.
#define USE_CHECKS_COMMON |
Definition at line 53 of file kmp_threadprivate.c.
void __kmp_common_destroy | ( | void | ) |
Definition at line 212 of file kmp_threadprivate.c.
References __kmp_all_nth, __kmp_foreign_tp, __kmp_init_common, __kmp_threadprivate_d_table, __kmp_threadprivate_find_task_common(), __kmp_threads, shared_table::data, shared_common::dt, shared_common::dtor, shared_common::dtorv, FALSE, shared_common::gbl_addr, shared_common::is_vec, KMP_HASH_TABLE_SIZE, KMP_INITIAL_GTID, KMP_UBER_GTID, shared_common::next, shared_common::obj_init, private_common::par_addr, TCR_4, TCW_4, and shared_common::vec_len.
void __kmp_common_destroy_gtid | ( | int | gtid | ) |
Definition at line 273 of file kmp_threadprivate.c.
References __kmp_find_shared_task_common(), __kmp_foreign_tp, __kmp_init_common, __kmp_threadprivate_d_table, __kmp_threads, shared_common::dt, shared_common::dtor, shared_common::dtorv, private_common::gbl_addr, shared_common::is_vec, KC_TRACE, KMP_DEBUG_ASSERT, KMP_INITIAL_GTID, KMP_UBER_GTID, private_common::link, shared_common::obj_init, private_common::par_addr, TCR_4, and shared_common::vec_len.
Referenced by __kmp_launch_thread().
void __kmp_common_initialize | ( | void | ) |
Definition at line 181 of file kmp_threadprivate.c.
References __kmp_init_common, __kmp_root, __kmp_threadpriv_cache_list, __kmp_threadprivate_d_table, __kmp_threads_capacity, shared_table::data, KMP_DEBUG_ASSERT, KMP_HASH_TABLE_SIZE, TCR_4, TCW_4, and TRUE.
Referenced by __kmp_do_serial_initialize().
static void __kmp_copy_common_data | ( | void * | pc_addr, | |
struct private_data * | d | |||
) | [static] |
Definition at line 160 of file kmp_threadprivate.c.
References private_data::data, i, private_data::more, private_data::next, and private_data::size.
Referenced by kmp_threadprivate_insert().
static __forceinline struct shared_common* __kmp_find_shared_task_common | ( | struct shared_table * | tbl, | |
int | gtid, | |||
void * | pc_addr | |||
) | [static, read] |
Definition at line 104 of file kmp_threadprivate.c.
References shared_table::data, shared_common::gbl_addr, KC_TRACE, KMP_HASH, and shared_common::next.
Referenced by __kmp_common_destroy_gtid(), __kmpc_threadprivate_register(), __kmpc_threadprivate_register_vec(), kmp_threadprivate_insert(), and kmp_threadprivate_insert_private_data().
static struct private_data* __kmp_init_common_data | ( | void * | pc_addr, | |
size_t | pc_size | |||
) | [static, read] |
Definition at line 128 of file kmp_threadprivate.c.
References __kmp_allocate, private_data::data, i, private_data::more, and private_data::size.
Referenced by kmp_threadprivate_insert(), and kmp_threadprivate_insert_private_data().
static __forceinline struct private_common* __kmp_threadprivate_find_task_common | ( | struct common_table * | tbl, | |
int | gtid, | |||
void * | pc_addr | |||
) | [static, read] |
Definition at line 76 of file kmp_threadprivate.c.
References common_table::data, private_common::gbl_addr, KC_TRACE, KMP_HASH, and private_common::next.
Referenced by __kmp_common_destroy(), and __kmpc_threadprivate().
void* __kmpc_threadprivate | ( | ident_t * | loc, | |
kmp_int32 | global_tid, | |||
void * | data, | |||
size_t | size | |||
) |
Definition at line 597 of file kmp_threadprivate.c.
References __kmp_foreign_tp, __kmp_init_serial, __kmp_threadprivate_find_task_common(), __kmp_threads, private_common::cmn_size, KC_TRACE, KMP_FATAL, kmp_threadprivate_insert(), kmp_threadprivate_insert_private_data(), KMP_UINTPTR_SPEC, and private_common::par_addr.
Referenced by __kmpc_threadprivate_cached().
struct private_common* kmp_threadprivate_insert | ( | int | gtid, | |
void * | pc_addr, | |||
void * | data_addr, | |||
size_t | pc_size | |||
) | [read] |
Definition at line 385 of file kmp_threadprivate.c.
References __kmp_acquire_lock(), __kmp_allocate, __kmp_copy_common_data(), __kmp_find_shared_task_common(), __kmp_foreign_tp, __kmp_global_lock, __kmp_init_common_data(), __kmp_release_lock(), __kmp_threadprivate_d_table, __kmp_threads, shared_common::cct, shared_common::cctor, shared_common::cctorv, private_common::cmn_size, shared_common::cmn_size, shared_common::ct, shared_common::ctor, shared_common::ctorv, shared_table::data, shared_common::gbl_addr, private_common::gbl_addr, shared_common::is_vec, KC_TRACE, KMP_FATAL, KMP_HASH, KMP_INITIAL_GTID, KMP_UBER_GTID, KMP_UINTPTR_SPEC, private_common::link, private_common::next, shared_common::next, shared_common::obj_init, private_common::par_addr, shared_common::pod_init, and shared_common::vec_len.
Referenced by __kmpc_threadprivate().
void kmp_threadprivate_insert_private_data | ( | int | gtid, | |
void * | pc_addr, | |||
void * | data_addr, | |||
size_t | pc_size | |||
) |
Definition at line 349 of file kmp_threadprivate.c.
References __kmp_acquire_lock(), __kmp_allocate, __kmp_find_shared_task_common(), __kmp_global_lock, __kmp_init_common_data(), __kmp_release_lock(), __kmp_threadprivate_d_table, __kmp_threads, shared_common::cmn_size, shared_table::data, shared_common::gbl_addr, KMP_DEBUG_ASSERT, KMP_HASH, shared_common::next, and shared_common::pod_init.
Referenced by __kmpc_threadprivate().
Definition at line 66 of file kmp_threadprivate.c.
Referenced by __kmp_common_destroy(), __kmp_common_destroy_gtid(), __kmp_common_initialize(), __kmpc_threadprivate_register(), __kmpc_threadprivate_register_vec(), kmp_threadprivate_insert(), and kmp_threadprivate_insert_private_data().