aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_nif.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-06-01 19:43:00 +0200
committerSverker Eriksson <[email protected]>2016-06-01 19:43:00 +0200
commitfaa62026143e37f80dbbb5f895715d1b8a369a9a (patch)
treeab7f6b01b7e5e85ccc6c025945843bc45107a218 /erts/emulator/beam/erl_nif.c
parentaf012bcbf2d6a5edd5b7c0e49bc76f7d2c3196e2 (diff)
parentf1987d5299ce67b0eb4c4a83d8ee9bcf7426c307 (diff)
downloadotp-faa62026143e37f80dbbb5f895715d1b8a369a9a.tar.gz
otp-faa62026143e37f80dbbb5f895715d1b8a369a9a.tar.bz2
otp-faa62026143e37f80dbbb5f895715d1b8a369a9a.zip
Merge branch 'sverker/ets-load-factor/OTP-13642'
Diffstat (limited to 'erts/emulator/beam/erl_nif.c')
-rw-r--r--erts/emulator/beam/erl_nif.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/erts/emulator/beam/erl_nif.c b/erts/emulator/beam/erl_nif.c
index f1c35cd5a5..4fd82bad10 100644
--- a/erts/emulator/beam/erl_nif.c
+++ b/erts/emulator/beam/erl_nif.c
@@ -803,19 +803,13 @@ ERL_NIF_TERM enif_make_copy(ErlNifEnv* dst_env, ERL_NIF_TERM src_term)
{
Uint sz;
Eterm* hp;
-#ifdef SHCOPY
- erts_shcopy_t info;
- INITIALIZE_SHCOPY(info);
- sz = copy_shared_calculate(src_term, &info);
- hp = alloc_heap(dst_env, sz);
- src_term = copy_shared_perform(src_term, sz, &info, &hp, &MSO(dst_env->proc));
- DESTROY_SHCOPY(info);
- return src_term;
-#else
+ /*
+ * No preserved sharing allowed as long as literals are also preserved.
+ * Process independent environment can not be reached by purge.
+ */
sz = size_object(src_term);
hp = alloc_heap(dst_env, sz);
return copy_struct(src_term, sz, &hp, &MSO(dst_env->proc));
-#endif
}