aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/sys/common/erl_mseg.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-04-12 20:41:58 +0200
committerSverker Eriksson <[email protected]>2016-04-15 19:02:49 +0200
commit85a6623152988c267cea008d20616b61ea9c223c (patch)
treec83b93cb1ca5e3f396c62bd4cb7f723d97c9221e /erts/emulator/sys/common/erl_mseg.h
parent90641d82a4b07e6b0be142d07ac85107b8ebee9d (diff)
downloadotp-85a6623152988c267cea008d20616b61ea9c223c.tar.gz
otp-85a6623152988c267cea008d20616b61ea9c223c.tar.bz2
otp-85a6623152988c267cea008d20616b61ea9c223c.zip
erts: Add 'exec_alloc' for hipe code
that uses its own super carrier (erts_exec_mmapper) to guarantee low addressed and executable memory (PROT_EXEC). Currently only used on x86_64 that needs low memory for HiPE/AMD64's small code model. By initializing erts_exec_mapper early we secure its low memory area before erts_literal_mmapper might steal it.
Diffstat (limited to 'erts/emulator/sys/common/erl_mseg.h')
-rw-r--r--erts/emulator/sys/common/erl_mseg.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/erts/emulator/sys/common/erl_mseg.h b/erts/emulator/sys/common/erl_mseg.h
index 2acd8f8505..556a135798 100644
--- a/erts/emulator/sys/common/erl_mseg.h
+++ b/erts/emulator/sys/common/erl_mseg.h
@@ -61,6 +61,7 @@ typedef struct {
Uint nos;
ErtsMMapInit dflt_mmap;
ErtsMMapInit literal_mmap;
+ ErtsMMapInit exec_mmap;
} ErtsMsegInit_t;
#define ERTS_MSEG_INIT_DEFAULT_INITIALIZER \
@@ -70,7 +71,8 @@ typedef struct {
10, /* mcs: Max cache size */ \
1000, /* cci: Cache check interval */ \
ERTS_MMAP_INIT_DEFAULT_INITER, \
- ERTS_MMAP_INIT_LITERAL_INITER \
+ ERTS_MMAP_INIT_LITERAL_INITER, \
+ ERTS_MMAP_INIT_HIPE_EXEC_INITER \
}
typedef struct {