]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/jemalloc/src/extent_mmap.c
Revert r354605: Update jemalloc to version 5.2.1.
[FreeBSD/FreeBSD.git] / contrib / jemalloc / src / extent_mmap.c
1 #define JEMALLOC_EXTENT_MMAP_C_
2 #include "jemalloc/internal/jemalloc_preamble.h"
3 #include "jemalloc/internal/jemalloc_internal_includes.h"
4
5 #include "jemalloc/internal/assert.h"
6 #include "jemalloc/internal/extent_mmap.h"
7
8 /******************************************************************************/
9 /* Data. */
10
11 bool    opt_retain =
12 #ifdef JEMALLOC_RETAIN
13     true
14 #else
15     false
16 #endif
17     ;
18
19 /******************************************************************************/
20
21 void *
22 extent_alloc_mmap(void *new_addr, size_t size, size_t alignment, bool *zero,
23     bool *commit) {
24         void *ret = pages_map(new_addr, size, ALIGNMENT_CEILING(alignment,
25             PAGE), commit);
26         if (ret == NULL) {
27                 return NULL;
28         }
29         assert(ret != NULL);
30         if (*commit) {
31                 *zero = true;
32         }
33         return ret;
34 }
35
36 bool
37 extent_dalloc_mmap(void *addr, size_t size) {
38         if (!opt_retain) {
39                 pages_unmap(addr, size);
40         }
41         return opt_retain;
42 }