| 1594 | } |
| 1595 | |
| 1596 | static bool |
| 1597 | prof_dump_header_impl(tsdn_t *tsdn, bool propagate_err, |
| 1598 | const prof_cnt_t *cnt_all) { |
| 1599 | bool ret; |
| 1600 | |
| 1601 | if (prof_dump_printf(propagate_err, |
| 1602 | "heap_v2/%"FMTu64"\n" |
| 1603 | " t*: %"FMTu64": %"FMTu64" [%"FMTu64": %"FMTu64"]\n", |
| 1604 | ((uint64_t)1U << lg_prof_sample), cnt_all->curobjs, |
| 1605 | cnt_all->curbytes, cnt_all->accumobjs, cnt_all->accumbytes)) { |
| 1606 | return true; |
| 1607 | } |
| 1608 | |
| 1609 | malloc_mutex_lock(tsdn, &tdatas_mtx); |
| 1610 | ret = (tdata_tree_iter(&tdatas, NULL, prof_tdata_dump_iter, |
| 1611 | (void *)&propagate_err) != NULL); |
| 1612 | malloc_mutex_unlock(tsdn, &tdatas_mtx); |
| 1613 | return ret; |
| 1614 | } |
| 1615 | prof_dump_header_t *JET_MUTABLE prof_dump_header = prof_dump_header_impl; |
| 1616 | |
| 1617 | static bool |
nothing calls this directly
no test coverage detected