Lines Matching refs:dtv
254 TlsDtv* const dtv = __get_tcb_dtv(tcb); in update_tls_dtv() local
260 for (size_t i = 0; i < dtv->count; ++i) { in update_tls_dtv()
264 dtv->modules[i] = static_tls + mod.static_offset; in update_tls_dtv()
268 mod.first_generation <= dtv->generation) { 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()
290 TlsDtv* dtv = __get_tcb_dtv(tcb); in tls_get_addr_slow_path() local
292 void* mod_ptr = dtv->modules[module_idx]; in tls_get_addr_slow_path()
299 dtv->modules[module_idx] = mod_ptr; in tls_get_addr_slow_path()
315 TlsDtv* dtv = __get_tcb_dtv(__get_bionic_tcb()); in TLS_GET_ADDR() local
319 if (__predict_true(generation == dtv->generation)) { in TLS_GET_ADDR()
320 void* mod_ptr = dtv->modules[__tls_module_id_to_idx(ti->module_id)]; in TLS_GET_ADDR()
340 TlsDtv* dtv = __get_tcb_dtv(tcb); in __free_dynamic_tls() local
341 if (dtv->generation == kTlsGenerationNone) { in __free_dynamic_tls()
349 for (size_t i = 0; i < dtv->count; ++i) { in __free_dynamic_tls()
354 allocator.free(dtv->modules[i]); in __free_dynamic_tls()
358 while (dtv->generation != kTlsGenerationNone) { in __free_dynamic_tls()
359 TlsDtv* next = dtv->next; in __free_dynamic_tls()
360 allocator.free(dtv); in __free_dynamic_tls()
361 dtv = next; in __free_dynamic_tls()