Refactor prof_tctx_t creation

This commit is contained in:
Yinan Zhang
2019-12-05 15:52:54 -08:00
parent aa1d71fb7a
commit dfdd46f6c1
3 changed files with 18 additions and 23 deletions

View File

@@ -300,7 +300,7 @@ prof_lookup_global(tsd_t *tsd, prof_bt_t *bt, prof_tdata_t *tdata,
return false;
}
prof_tctx_t *
static prof_tctx_t *
prof_lookup(tsd_t *tsd, prof_bt_t *bt) {
union {
prof_tctx_t *p;
@@ -312,9 +312,7 @@ prof_lookup(tsd_t *tsd, prof_bt_t *bt) {
cassert(config_prof);
tdata = prof_tdata_get(tsd, false);
if (tdata == NULL) {
return NULL;
}
assert(tdata != NULL);
malloc_mutex_lock(tsd_tsdn(tsd), tdata->lock);
not_found = ckh_search(&tdata->bt2tctx, bt, NULL, &ret.v);
@@ -374,6 +372,16 @@ prof_lookup(tsd_t *tsd, prof_bt_t *bt) {
return ret.p;
}
prof_tctx_t *
prof_tctx_create(tsd_t *tsd) {
prof_tdata_t *tdata = prof_tdata_get(tsd, false);
assert(tdata != NULL);
prof_bt_t bt;
bt_init(&bt, tdata->vec);
prof_backtrace(tsd, &bt);
return prof_lookup(tsd, &bt);
}
#ifdef JEMALLOC_JET
static prof_tdata_t *
prof_tdata_count_iter(prof_tdata_tree_t *tdatas, prof_tdata_t *tdata,