Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/jemalloc/src/extent_mmap.c
39478 views
1
#include "jemalloc/internal/jemalloc_preamble.h"
2
#include "jemalloc/internal/jemalloc_internal_includes.h"
3
4
#include "jemalloc/internal/assert.h"
5
#include "jemalloc/internal/extent_mmap.h"
6
7
/******************************************************************************/
8
/* Data. */
9
10
bool opt_retain =
11
#ifdef JEMALLOC_RETAIN
12
true
13
#else
14
false
15
#endif
16
;
17
18
/******************************************************************************/
19
20
void *
21
extent_alloc_mmap(void *new_addr, size_t size, size_t alignment, bool *zero,
22
bool *commit) {
23
assert(alignment == ALIGNMENT_CEILING(alignment, PAGE));
24
void *ret = pages_map(new_addr, size, alignment, commit);
25
if (ret == NULL) {
26
return NULL;
27
}
28
assert(ret != NULL);
29
if (*commit) {
30
*zero = true;
31
}
32
return ret;
33
}
34
35
bool
36
extent_dalloc_mmap(void *addr, size_t size) {
37
if (!opt_retain) {
38
pages_unmap(addr, size);
39
}
40
return opt_retain;
41
}
42
43