Path: blob/main/contrib/jemalloc/src/extent_mmap.c
39478 views
#include "jemalloc/internal/jemalloc_preamble.h"1#include "jemalloc/internal/jemalloc_internal_includes.h"23#include "jemalloc/internal/assert.h"4#include "jemalloc/internal/extent_mmap.h"56/******************************************************************************/7/* Data. */89bool opt_retain =10#ifdef JEMALLOC_RETAIN11true12#else13false14#endif15;1617/******************************************************************************/1819void *20extent_alloc_mmap(void *new_addr, size_t size, size_t alignment, bool *zero,21bool *commit) {22assert(alignment == ALIGNMENT_CEILING(alignment, PAGE));23void *ret = pages_map(new_addr, size, alignment, commit);24if (ret == NULL) {25return NULL;26}27assert(ret != NULL);28if (*commit) {29*zero = true;30}31return ret;32}3334bool35extent_dalloc_mmap(void *addr, size_t size) {36if (!opt_retain) {37pages_unmap(addr, size);38}39return opt_retain;40}414243