diff options
author | Sverker Eriksson <[email protected]> | 2015-09-11 16:03:00 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2015-11-12 15:25:46 +0100 |
commit | b7f760cee119e1824de0cfc2b34ae6fe971bf505 (patch) | |
tree | 2a7794b77bd22e21e3afd7a1c39bc4497e33402e /erts/emulator/sys/common/erl_mmap.h | |
parent | 63466c5522ed58b6e73e35dc29c7c7584f073768 (diff) | |
download | otp-b7f760cee119e1824de0cfc2b34ae6fe971bf505.tar.gz otp-b7f760cee119e1824de0cfc2b34ae6fe971bf505.tar.bz2 otp-b7f760cee119e1824de0cfc2b34ae6fe971bf505.zip |
erts: Add support for fast erts_is_literal()
Diffstat (limited to 'erts/emulator/sys/common/erl_mmap.h')
-rw-r--r-- | erts/emulator/sys/common/erl_mmap.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/erts/emulator/sys/common/erl_mmap.h b/erts/emulator/sys/common/erl_mmap.h index 8707c23527..61d912fd28 100644 --- a/erts/emulator/sys/common/erl_mmap.h +++ b/erts/emulator/sys/common/erl_mmap.h @@ -50,8 +50,11 @@ typedef struct { #define ERTS_MMAP_INIT_DEFAULT_INITER \ {{NULL, NULL}, {NULL, NULL}, 0, 1, (1 << 16), 1} +#define ERTS_MMAP_INIT_LITERAL_INITER \ + {{NULL, NULL}, {NULL, NULL}, 1024*1024*1024, 1, (1 << 16), 0} + typedef struct ErtsMemMapper_ ErtsMemMapper; -extern ErtsMemMapper erts_dflt_mmapper; + void *erts_mmap(ErtsMemMapper*, Uint32 flags, UWord *sizep); void erts_munmap(ErtsMemMapper*, Uint32 flags, void *ptr, UWord size); void *erts_mremap(ErtsMemMapper*, Uint32 flags, void *ptr, UWord old_size, UWord *sizep); @@ -121,6 +124,11 @@ Eterm erts_mmap_debug_info(ErtsMemMapper*, struct process*); # define ERTS_HAVE_OS_MMAP 1 #endif +extern ErtsMemMapper erts_dflt_mmapper; +#if defined(ARCH_64) && defined(ERTS_HAVE_OS_PHYSICAL_MEMORY_RESERVATION) +extern ErtsMemMapper erts_literal_mmapper; +#endif + /*#define HARD_DEBUG_MSEG*/ #ifdef HARD_DEBUG_MSEG # define HARD_DBG_INSERT_MSEG hard_dbg_insert_mseg |