]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/jemalloc/include/jemalloc/internal/huge.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / jemalloc / include / jemalloc / internal / huge.h
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. */
13 extern uint64_t         huge_nmalloc;
14 extern uint64_t         huge_ndalloc;
15 extern size_t           huge_allocated;
16
17 /* Protects chunk-related data structures. */
18 extern malloc_mutex_t   huge_mtx;
19
20 void    *huge_malloc(size_t size, bool zero);
21 void    *huge_palloc(size_t size, size_t alignment, bool zero);
22 void    *huge_ralloc_no_move(void *ptr, size_t oldsize, size_t size,
23     size_t extra);
24 void    *huge_ralloc(void *ptr, size_t oldsize, size_t size, size_t extra,
25     size_t alignment, bool zero, bool try_tcache_dalloc);
26 void    huge_dalloc(void *ptr, bool unmap);
27 size_t  huge_salloc(const void *ptr);
28 prof_ctx_t      *huge_prof_ctx_get(const void *ptr);
29 void    huge_prof_ctx_set(const void *ptr, prof_ctx_t *ctx);
30 bool    huge_boot(void);
31 void    huge_prefork(void);
32 void    huge_postfork_parent(void);
33 void    huge_postfork_child(void);
34
35 #endif /* JEMALLOC_H_EXTERNS */
36 /******************************************************************************/
37 #ifdef JEMALLOC_H_INLINES
38
39 #endif /* JEMALLOC_H_INLINES */
40 /******************************************************************************/