diff options
author | Magnus Lång <[email protected]> | 2017-04-08 10:48:01 +0200 |
---|---|---|
committer | Magnus Lång <[email protected]> | 2017-11-05 20:52:48 +0100 |
commit | 7503303b0cba1e02320bdf604e0d0997b7c2ff59 (patch) | |
tree | 6cd3f5e63fa2cbe190a45359457076f3659a6575 /erts/emulator/hipe | |
parent | 14250efc69cacde4310aeb89b3b1ef631d8e5fe9 (diff) | |
download | otp-7503303b0cba1e02320bdf604e0d0997b7c2ff59.tar.gz otp-7503303b0cba1e02320bdf604e0d0997b7c2ff59.tar.bz2 otp-7503303b0cba1e02320bdf604e0d0997b7c2ff59.zip |
HiPE: Support literal tags
Literal tags are used by the VM as an alternative to reserving a large
virtual memory space in order to be able to quickly identify which terms
are literals. The use of literal tags harms performance, but is useful
to support systems where allocating a large amount of virtual memory is
not an option.
Diffstat (limited to 'erts/emulator/hipe')
-rw-r--r-- | erts/emulator/hipe/hipe_mkliterals.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_mkliterals.c b/erts/emulator/hipe/hipe_mkliterals.c index 6ea120c65c..de00994d64 100644 --- a/erts/emulator/hipe/hipe_mkliterals.c +++ b/erts/emulator/hipe/hipe_mkliterals.c @@ -462,6 +462,15 @@ static const struct rts_param rts_params[] = { 0 #endif }, + /* This flag is always defined, but its value is configuration-dependent. */ + { 17, "ERTS_USE_LITERAL_TAG", + 1, +#if defined(TAG_LITERAL_PTR) + 1 +#else + 0 +#endif + }, /* This parameter is always defined, but its value depends on ERTS_SMP. */ { 19, "MSG_MESSAGE", 1, offsetof(struct erl_mesg, m[0]) |