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