Lines Matching refs:bt
81 bt_init(prof_bt_t *bt, void **vec)
86 bt->vec = vec;
87 bt->len = 0;
91 bt_destroy(prof_bt_t *bt)
96 idalloc(bt);
100 bt_dup(prof_bt_t *bt)
114 (bt->len * sizeof(void *)));
119 memcpy(ret->vec, bt->vec, bt->len * sizeof(void *));
120 ret->len = bt->len;
161 prof_backtrace(prof_bt_t *bt)
166 assert(bt->len == 0);
167 assert(bt->vec != NULL);
169 nframes = unw_backtrace(bt->vec, PROF_BT_MAX);
172 bt->len = nframes;
195 data->bt->vec[data->bt->len] = ip;
196 data->bt->len++;
197 if (data->bt->len == data->max)
204 prof_backtrace(prof_bt_t *bt)
206 prof_unwind_data_t data = {bt, PROF_BT_MAX};
214 prof_backtrace(prof_bt_t *bt)
224 bt->vec[(i)] = p; \
225 bt->len = (i) + 1; \
375 prof_backtrace(prof_bt_t *bt)
392 prof_ctx_init(prof_ctx_t *ctx, prof_bt_t *bt)
395 ctx->bt = bt;
431 if (ckh_remove(&bt2ctx, ctx->bt, NULL, NULL))
436 bt_destroy(ctx->bt);
488 prof_lookup_global(prof_bt_t *bt, prof_tdata_t *prof_tdata, void **p_btkey,
502 if (ckh_search(&bt2ctx, bt, &btkey.v, &ctx.v)) {
503 /* bt has never been seen before. Insert it. */
509 btkey.p = bt_dup(bt);
543 prof_lookup(prof_bt_t *bt)
557 if (ckh_search(&prof_tdata->bt2cnt, bt, NULL, &ret.v)) {
563 * This thread's cache lacks bt. Look for it in the global
566 if (prof_lookup_global(bt, prof_tdata, &btkey, &ctx, &new_ctx))
578 if (ckh_remove(&prof_tdata->bt2cnt, ret.p->ctx->bt,
907 prof_dump_ctx(bool propagate_err, prof_ctx_t *ctx, const prof_bt_t *bt,
941 for (i = 0; i < bt->len; i++) {
943 (uintptr_t)bt->vec[i])) {
1067 if (prof_dump_ctx(propagate_err, ctx.p, ctx.p->bt, &ctx_ql))
1213 prof_bt_t *bt = (prof_bt_t *)key;
1217 hash(bt->vec, bt->len * sizeof(void *), 0x94122f33U, r_hash);