aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-04-20 15:57:47 +0200
committerSverker Eriksson <[email protected]>2016-04-29 17:06:28 +0200
commit0a5d8f3ae45bd8a10498ef35c1e704983afbbf25 (patch)
tree4e744964e4b1e4916e3da9404157456b4543a670
parentc2c47441ddc436a6d36aa1264ed6f198a9e0c3e0 (diff)
downloadotp-0a5d8f3ae45bd8a10498ef35c1e704983afbbf25.tar.gz
otp-0a5d8f3ae45bd8a10498ef35c1e704983afbbf25.tar.bz2
otp-0a5d8f3ae45bd8a10498ef35c1e704983afbbf25.zip
erts: Add literal_mmap and exec_mmap to system_info
erlang:system_info(allocator) -> {Allocator, Version, Features, Settings} Features includes 'literal_mmap' and/or 'exec_mmap' if they exist.
-rw-r--r--erts/emulator/beam/erl_alloc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_alloc.c b/erts/emulator/beam/erl_alloc.c
index 5b76f34165..64a323c434 100644
--- a/erts/emulator/beam/erl_alloc.c
+++ b/erts/emulator/beam/erl_alloc.c
@@ -2999,7 +2999,12 @@ erts_allocator_options(void *proc)
#if ERTS_HAVE_ERTS_SYS_ALIGNED_ALLOC
terms[length++] = am_atom_put("sys_aligned_alloc", 17);
#endif
-
+#if defined(ARCH_64) && defined(ERTS_HAVE_OS_PHYSICAL_MEMORY_RESERVATION)
+ terms[length++] = ERTS_MAKE_AM("literal_mmap");
+#endif
+#ifdef ERTS_ALC_A_EXEC
+ terms[length++] = ERTS_MAKE_AM("exec_mmap");
+#endif
features = length ? erts_bld_list(hpp, szp, length, terms) : NIL;
#if defined(__GLIBC__)