mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-05-01 09:37:50 +03:00
TSD: Move in some of the tcache fields.
We had put these in the tcache for cache optimization reasons. After the previous diff, these no longer apply.
This commit is contained in:
parent
58a00df238
commit
40e7aed59e
4 changed files with 16 additions and 17 deletions
|
|
@ -130,9 +130,9 @@ hook_reentrantp() {
|
|||
*/
|
||||
static bool in_hook_global = true;
|
||||
tsdn_t *tsdn = tsdn_fetch();
|
||||
tcache_t *tcache = tsdn_tcachep_get(tsdn);
|
||||
if (tcache != NULL) {
|
||||
return &tcache->in_hook;
|
||||
bool *in_hook = tsdn_in_hookp_get(tsdn);
|
||||
if (in_hook!= NULL) {
|
||||
return in_hook;
|
||||
}
|
||||
return &in_hook_global;
|
||||
}
|
||||
|
|
|
|||
10
src/tsd.c
10
src/tsd.c
|
|
@ -74,7 +74,7 @@ tsd_in_nominal_list(tsd_t *tsd) {
|
|||
* out of it here.
|
||||
*/
|
||||
malloc_mutex_lock(TSDN_NULL, &tsd_nominal_tsds_lock);
|
||||
ql_foreach(tsd_list, &tsd_nominal_tsds, TSD_MANGLE(tcache).tsd_link) {
|
||||
ql_foreach(tsd_list, &tsd_nominal_tsds, TSD_MANGLE(tsd_link)) {
|
||||
if (tsd == tsd_list) {
|
||||
found = true;
|
||||
break;
|
||||
|
|
@ -88,9 +88,9 @@ static void
|
|||
tsd_add_nominal(tsd_t *tsd) {
|
||||
assert(!tsd_in_nominal_list(tsd));
|
||||
assert(tsd_state_get(tsd) <= tsd_state_nominal_max);
|
||||
ql_elm_new(tsd, TSD_MANGLE(tcache).tsd_link);
|
||||
ql_elm_new(tsd, TSD_MANGLE(tsd_link));
|
||||
malloc_mutex_lock(tsd_tsdn(tsd), &tsd_nominal_tsds_lock);
|
||||
ql_tail_insert(&tsd_nominal_tsds, tsd, TSD_MANGLE(tcache).tsd_link);
|
||||
ql_tail_insert(&tsd_nominal_tsds, tsd, TSD_MANGLE(tsd_link));
|
||||
malloc_mutex_unlock(tsd_tsdn(tsd), &tsd_nominal_tsds_lock);
|
||||
}
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ tsd_remove_nominal(tsd_t *tsd) {
|
|||
assert(tsd_in_nominal_list(tsd));
|
||||
assert(tsd_state_get(tsd) <= tsd_state_nominal_max);
|
||||
malloc_mutex_lock(tsd_tsdn(tsd), &tsd_nominal_tsds_lock);
|
||||
ql_remove(&tsd_nominal_tsds, tsd, TSD_MANGLE(tcache).tsd_link);
|
||||
ql_remove(&tsd_nominal_tsds, tsd, TSD_MANGLE(tsd_link));
|
||||
malloc_mutex_unlock(tsd_tsdn(tsd), &tsd_nominal_tsds_lock);
|
||||
}
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ tsd_force_recompute(tsdn_t *tsdn) {
|
|||
atomic_fence(ATOMIC_RELEASE);
|
||||
malloc_mutex_lock(tsdn, &tsd_nominal_tsds_lock);
|
||||
tsd_t *remote_tsd;
|
||||
ql_foreach(remote_tsd, &tsd_nominal_tsds, TSD_MANGLE(tcache).tsd_link) {
|
||||
ql_foreach(remote_tsd, &tsd_nominal_tsds, TSD_MANGLE(tsd_link)) {
|
||||
assert(tsd_atomic_load(&remote_tsd->state, ATOMIC_RELAXED)
|
||||
<= tsd_state_nominal_max);
|
||||
tsd_atomic_store(&remote_tsd->state,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue