huge.h revision 4e2e3dd9cf19ed5991938a708a8b50611aa5bbf8
18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/******************************************************************************/ 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef JEMALLOC_H_TYPES 350b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* JEMALLOC_H_TYPES */ 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt/******************************************************************************/ 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt#ifdef JEMALLOC_H_STRUCTS 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* JEMALLOC_H_STRUCTS */ 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/******************************************************************************/ 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef JEMALLOC_H_EXTERNS 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* Huge allocation statistics. */ 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtextern uint64_t huge_nmalloc; 1450b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtextern uint64_t huge_ndalloc; 1550b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtextern size_t huge_allocated; 1650b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt 1750b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt/* Protects chunk-related data structures. */ 1850b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtextern malloc_mutex_t huge_mtx; 1950b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt 2050b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtvoid *huge_malloc(size_t size, bool zero); 2150b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtvoid *huge_palloc(size_t size, size_t alignment, bool zero); 2250b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtvoid *huge_ralloc_no_move(void *ptr, size_t oldsize, size_t size, 2350b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidt size_t extra); 2450b691dc36a8075e8f594e8bea93cb524fa6b1d2Dmitry Shmidtvoid *huge_ralloc(void *ptr, size_t oldsize, size_t size, size_t extra, 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt size_t alignment, bool zero); 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid huge_dalloc(void *ptr, bool unmap); 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtsize_t huge_salloc(const void *ptr); 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtprof_ctx_t *huge_prof_ctx_get(const void *ptr); 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid huge_prof_ctx_set(const void *ptr, prof_ctx_t *ctx); 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtbool huge_boot(void); 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid huge_prefork(void); 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid huge_postfork_parent(void); 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid huge_postfork_child(void); 348d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 358d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* JEMALLOC_H_EXTERNS */ 368d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/******************************************************************************/ 378d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef JEMALLOC_H_INLINES 388d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 398d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* JEMALLOC_H_INLINES */ 408d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/******************************************************************************/ 418d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt