Lines Matching defs:bt

70 static prof_bt_t	*bt_dup(prof_bt_t *bt);
71 static void bt_destroy(prof_bt_t *bt);
87 prof_bt_t *bt);
100 bt_init(prof_bt_t *bt, void **vec)
105 bt->vec = vec;
106 bt->len = 0;
110 bt_destroy(prof_bt_t *bt)
115 idalloc(bt);
119 bt_dup(prof_bt_t *bt)
133 (bt->len * sizeof(void *)));
138 memcpy(ret->vec, bt->vec, bt->len * sizeof(void *));
139 ret->len = bt->len;
180 prof_backtrace(prof_bt_t *bt, unsigned nignore)
188 assert(bt->len == 0);
189 assert(bt->vec != NULL);
203 * remains in bt.
206 unw_get_reg(&cursor, UNW_REG_IP, (unw_word_t *)&bt->vec[i]);
207 bt->len++;
233 data->bt->vec[data->bt->len] = (void *)_Unwind_GetIP(context);
234 data->bt->len++;
235 if (data->bt->len == data->max)
243 prof_backtrace(prof_bt_t *bt, unsigned nignore)
245 prof_unwind_data_t data = {bt, nignore, PROF_BT_MAX};
253 prof_backtrace(prof_bt_t *bt, unsigned nignore)
264 bt->vec[(i) - nignore] = p; \
265 bt->len = (i) - nignore + 1; \
422 prof_backtrace(prof_bt_t *bt, unsigned nignore)
431 prof_lookup(prof_bt_t *bt)
445 if (ckh_search(&prof_tdata->bt2cnt, bt, NULL, &ret.v)) {
457 * This thread's cache lacks bt. Look for it in the global
461 if (ckh_search(&bt2ctx, bt, &btkey.v, &ctx.v)) {
462 /* bt has never been seen before. Insert it. */
468 btkey.p = bt_dup(bt);
474 ctx.p->bt = btkey.p;
512 if (ckh_remove(&prof_tdata->bt2cnt, ret.p->ctx->bt,
697 if (ckh_remove(&bt2ctx, ctx->bt, NULL, NULL))
702 bt_destroy(ctx->bt);
754 prof_dump_ctx(bool propagate_err, prof_ctx_t *ctx, prof_bt_t *bt)
782 for (i = 0; i < bt->len; i++) {
784 (uintptr_t)bt->vec[i]))
838 } bt;
888 for (tabind = 0; ckh_iter(&bt2ctx, &tabind, &bt.v, &ctx.v)
890 if (prof_dump_ctx(propagate_err, ctx.p, bt.p))
1039 prof_bt_t *bt = (prof_bt_t *)key;
1043 hash(bt->vec, bt->len * sizeof(void *), 0x94122f33U, r_hash);