diff options
author | Sverker Eriksson <[email protected]> | 2016-04-12 20:41:58 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-04-15 19:02:49 +0200 |
commit | 85a6623152988c267cea008d20616b61ea9c223c (patch) | |
tree | c83b93cb1ca5e3f396c62bd4cb7f723d97c9221e /erts/emulator/beam/erl_alloc.types | |
parent | 90641d82a4b07e6b0be142d07ac85107b8ebee9d (diff) | |
download | otp-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/beam/erl_alloc.types')
-rw-r--r-- | erts/emulator/beam/erl_alloc.types | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_alloc.types b/erts/emulator/beam/erl_alloc.types index 14067283bd..0649ed903a 100644 --- a/erts/emulator/beam/erl_alloc.types +++ b/erts/emulator/beam/erl_alloc.types @@ -87,6 +87,9 @@ allocator EHEAP true eheap_alloc allocator ETS true ets_alloc allocator FIXED_SIZE true fix_alloc allocator LITERAL true literal_alloc ++if exec_alloc +allocator EXEC true exec_alloc ++endif +else # Non smp build @@ -98,6 +101,9 @@ allocator EHEAP false eheap_alloc allocator ETS false ets_alloc allocator FIXED_SIZE false fix_alloc allocator LITERAL false literal_alloc ++if exec_alloc +allocator EXEC false exec_alloc ++endif +endif @@ -335,8 +341,14 @@ type SL_MPATHS SHORT_LIVED SYSTEM sl_migration_paths # Currently most hipe code use this type. type HIPE SYSTEM SYSTEM hipe_data ++if exec_alloc +type HIPE_EXEC EXEC CODE hipe_code ++endif + +endif + + +if heap_frag_elim_test type SSB SHORT_LIVED PROCESSES ssb |