Lines Matching refs:modules
183 TlsModules& modules = __libc_shared_globals()->tls_modules; in __init_static_tls() local
185 ScopedReadLock locker(&modules.rwlock); in __init_static_tls()
187 for (size_t i = 0; i < modules.module_count; ++i) { in __init_static_tls()
188 TlsModule& module = modules.module_table[i]; in __init_static_tls()
227 const TlsModules& modules = __libc_shared_globals()->tls_modules; in update_tls_dtv() local
233 if (__get_tcb_dtv(tcb)->generation == atomic_load(&modules.generation)) { in update_tls_dtv()
244 if (modules.module_count > old_cnt) { in update_tls_dtv()
261 if (i < modules.module_count) { in update_tls_dtv()
262 const TlsModule& mod = modules.module_table[i]; in update_tls_dtv()
264 dtv->modules[i] = static_tls + mod.static_offset; in update_tls_dtv()
272 allocator.free(dtv->modules[i]); in update_tls_dtv()
273 dtv->modules[i] = nullptr; in update_tls_dtv()
276 dtv->generation = atomic_load(&modules.generation); in update_tls_dtv()
280 TlsModules& modules = __libc_shared_globals()->tls_modules; in tls_get_addr_slow_path() local
286 ScopedWriteLock locker(&modules.rwlock); in tls_get_addr_slow_path()
292 void* mod_ptr = dtv->modules[module_idx]; in tls_get_addr_slow_path()
294 const TlsSegment& segment = modules.module_table[module_idx].segment; in tls_get_addr_slow_path()
299 dtv->modules[module_idx] = mod_ptr; in tls_get_addr_slow_path()
320 void* mod_ptr = dtv->modules[__tls_module_id_to_idx(ti->module_id)]; in TLS_GET_ADDR()
335 TlsModules& modules = __libc_shared_globals()->tls_modules; in __free_dynamic_tls() local
346 ScopedWriteLock locker(&modules.rwlock); in __free_dynamic_tls()
350 if (i < modules.module_count && modules.module_table[i].static_offset != SIZE_MAX) { in __free_dynamic_tls()
354 allocator.free(dtv->modules[i]); in __free_dynamic_tls()