reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
53 if (dtls.dtv_size >= new_size) return; 60 VReport(2, "__tls_get_addr: DTLS_Resize %p %zd\n", &dtls, num_live_dtls); 62 uptr old_dtv_size = dtls.dtv_size; 63 DTLS::DTV *old_dtv = dtls.dtv; 65 internal_memcpy(new_dtv, dtls.dtv, dtls.dtv_size * sizeof(DTLS::DTV)); 65 internal_memcpy(new_dtv, dtls.dtv, dtls.dtv_size * sizeof(DTLS::DTV)); 66 dtls.dtv = new_dtv; 67 dtls.dtv_size = new_size; 74 VReport(2, "__tls_get_addr: DTLS_Destroy %p %zd\n", &dtls, dtls.dtv_size); 74 VReport(2, "__tls_get_addr: DTLS_Destroy %p %zd\n", &dtls, dtls.dtv_size); 75 uptr s = dtls.dtv_size; 76 dtls.dtv_size = kDestroyedThread; // Do this before unmap for AS-safety. 77 DTLS_Deallocate(dtls.dtv, s); 94 if (dtls.dtv_size == kDestroyedThread) return 0; 96 if (dtls.dtv[dso_id].beg) return 0; 103 if (dtls.last_memalign_ptr == tls_beg) { 104 tls_size = dtls.last_memalign_size; 124 dtls.dtv[dso_id].beg = tls_beg; 125 dtls.dtv[dso_id].size = tls_size; 126 return dtls.dtv + dso_id; 132 dtls.last_memalign_ptr = reinterpret_cast<uptr>(ptr); 133 dtls.last_memalign_size = size; 136 DTLS *DTLS_Get() { return &dtls; }