1 #ifndef JEMALLOC_INTERNAL_LARGE_EXTERNS_H
2 #define JEMALLOC_INTERNAL_LARGE_EXTERNS_H
3 
4 #include "jemalloc/internal/hook.h"
5 
6 void *large_malloc(tsdn_t *tsdn, arena_t *arena, size_t usize, bool zero);
7 void *large_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize, size_t alignment,
8     bool zero);
9 bool large_ralloc_no_move(tsdn_t *tsdn, extent_t *extent, size_t usize_min,
10     size_t usize_max, bool zero);
11 void *large_ralloc(tsdn_t *tsdn, arena_t *arena, void *ptr, size_t usize,
12     size_t alignment, bool zero, tcache_t *tcache,
13     hook_ralloc_args_t *hook_args);
14 
15 typedef void (large_dalloc_junk_t)(void *, size_t);
16 extern large_dalloc_junk_t *JET_MUTABLE large_dalloc_junk;
17 
18 typedef void (large_dalloc_maybe_junk_t)(void *, size_t);
19 extern large_dalloc_maybe_junk_t *JET_MUTABLE large_dalloc_maybe_junk;
20 
21 void large_dalloc_prep_junked_locked(tsdn_t *tsdn, extent_t *extent);
22 void large_dalloc_finish(tsdn_t *tsdn, extent_t *extent);
23 void large_dalloc(tsdn_t *tsdn, extent_t *extent);
24 size_t large_salloc(tsdn_t *tsdn, const extent_t *extent);
25 prof_tctx_t *large_prof_tctx_get(tsdn_t *tsdn, const extent_t *extent);
26 void large_prof_tctx_set(tsdn_t *tsdn, extent_t *extent, prof_tctx_t *tctx);
27 void large_prof_tctx_reset(tsdn_t *tsdn, extent_t *extent);
28 
29 nstime_t large_prof_alloc_time_get(const extent_t *extent);
30 void large_prof_alloc_time_set(extent_t *extent, nstime_t time);
31 
32 #endif /* JEMALLOC_INTERNAL_LARGE_EXTERNS_H */
33