1#ifndef JEMALLOC_INTERNAL_PROF_RECENT_H
2#define JEMALLOC_INTERNAL_PROF_RECENT_H
3
4extern malloc_mutex_t prof_recent_alloc_mtx;
5extern malloc_mutex_t prof_recent_dump_mtx;
6
7bool prof_recent_alloc_prepare(tsd_t *tsd, prof_tctx_t *tctx);
8void prof_recent_alloc(tsd_t *tsd, edata_t *edata, size_t size, size_t usize);
9void prof_recent_alloc_reset(tsd_t *tsd, edata_t *edata);
10bool prof_recent_init();
11void edata_prof_recent_alloc_init(edata_t *edata);
12
13/* Used in unit tests. */
14typedef ql_head(prof_recent_t) prof_recent_list_t;
15extern prof_recent_list_t prof_recent_alloc_list;
16edata_t *prof_recent_alloc_edata_get_no_lock_test(const prof_recent_t *node);
17prof_recent_t *edata_prof_recent_alloc_get_no_lock_test(const edata_t *edata);
18
19ssize_t prof_recent_alloc_max_ctl_read();
20ssize_t prof_recent_alloc_max_ctl_write(tsd_t *tsd, ssize_t max);
21void prof_recent_alloc_dump(tsd_t *tsd, write_cb_t *write_cb, void *cbopaque);
22
23#endif /* JEMALLOC_INTERNAL_PROF_RECENT_H */
24