huge.h revision 59113bcc94b9fc7549611afb99ca99cad1a7f196
1/******************************************************************************/
2#ifdef JEMALLOC_H_TYPES
3
4#endif /* JEMALLOC_H_TYPES */
5/******************************************************************************/
6#ifdef JEMALLOC_H_STRUCTS
7
8#endif /* JEMALLOC_H_STRUCTS */
9/******************************************************************************/
10#ifdef JEMALLOC_H_EXTERNS
11
12/* Huge allocation statistics. */
13extern uint64_t		huge_nmalloc;
14extern uint64_t		huge_ndalloc;
15extern size_t		huge_allocated;
16
17/* Protects chunk-related data structures. */
18extern malloc_mutex_t	huge_mtx;
19
20void	*huge_malloc(arena_t *arena, size_t size, bool zero,
21    dss_prec_t dss_prec);
22void	*huge_palloc(arena_t *arena, size_t size, size_t alignment, bool zero,
23    dss_prec_t dss_prec);
24bool	huge_ralloc_no_move(void *ptr, size_t oldsize, size_t size,
25    size_t extra);
26void	*huge_ralloc(arena_t *arena, void *ptr, size_t oldsize, size_t size,
27    size_t extra, size_t alignment, bool zero, bool try_tcache_dalloc,
28    dss_prec_t dss_prec);
29#ifdef JEMALLOC_JET
30typedef void (huge_dalloc_junk_t)(void *, size_t);
31extern huge_dalloc_junk_t *huge_dalloc_junk;
32#endif
33void	huge_dalloc(void *ptr, bool unmap);
34size_t	huge_salloc(const void *ptr);
35dss_prec_t	huge_dss_prec_get(arena_t *arena);
36prof_ctx_t	*huge_prof_ctx_get(const void *ptr);
37void	huge_prof_ctx_set(const void *ptr, prof_ctx_t *ctx);
38bool	huge_boot(void);
39void	huge_prefork(void);
40void	huge_postfork_parent(void);
41void	huge_postfork_child(void);
42
43#endif /* JEMALLOC_H_EXTERNS */
44/******************************************************************************/
45#ifdef JEMALLOC_H_INLINES
46
47#endif /* JEMALLOC_H_INLINES */
48/******************************************************************************/
49