xref: /netbsd-src/external/bsd/jemalloc.old/include/jemalloc/internal/large_externs.h (revision 8e33eff89e26cf71871ead62f0d5063e1313c33a)
1*8e33eff8Schristos #ifndef JEMALLOC_INTERNAL_LARGE_EXTERNS_H
2*8e33eff8Schristos #define JEMALLOC_INTERNAL_LARGE_EXTERNS_H
3*8e33eff8Schristos 
4*8e33eff8Schristos void *large_malloc(tsdn_t *tsdn, arena_t *arena, size_t usize, bool zero);
5*8e33eff8Schristos void *large_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize, size_t alignment,
6*8e33eff8Schristos     bool zero);
7*8e33eff8Schristos bool large_ralloc_no_move(tsdn_t *tsdn, extent_t *extent, size_t usize_min,
8*8e33eff8Schristos     size_t usize_max, bool zero);
9*8e33eff8Schristos void *large_ralloc(tsdn_t *tsdn, arena_t *arena, extent_t *extent, size_t usize,
10*8e33eff8Schristos     size_t alignment, bool zero, tcache_t *tcache);
11*8e33eff8Schristos 
12*8e33eff8Schristos typedef void (large_dalloc_junk_t)(void *, size_t);
13*8e33eff8Schristos extern large_dalloc_junk_t *JET_MUTABLE large_dalloc_junk;
14*8e33eff8Schristos 
15*8e33eff8Schristos typedef void (large_dalloc_maybe_junk_t)(void *, size_t);
16*8e33eff8Schristos extern large_dalloc_maybe_junk_t *JET_MUTABLE large_dalloc_maybe_junk;
17*8e33eff8Schristos 
18*8e33eff8Schristos void large_dalloc_prep_junked_locked(tsdn_t *tsdn, extent_t *extent);
19*8e33eff8Schristos void large_dalloc_finish(tsdn_t *tsdn, extent_t *extent);
20*8e33eff8Schristos void large_dalloc(tsdn_t *tsdn, extent_t *extent);
21*8e33eff8Schristos size_t large_salloc(tsdn_t *tsdn, const extent_t *extent);
22*8e33eff8Schristos prof_tctx_t *large_prof_tctx_get(tsdn_t *tsdn, const extent_t *extent);
23*8e33eff8Schristos void large_prof_tctx_set(tsdn_t *tsdn, extent_t *extent, prof_tctx_t *tctx);
24*8e33eff8Schristos void large_prof_tctx_reset(tsdn_t *tsdn, extent_t *extent);
25*8e33eff8Schristos 
26*8e33eff8Schristos #endif /* JEMALLOC_INTERNAL_LARGE_EXTERNS_H */
27