diff options
author | Lukas Larsson <[email protected]> | 2018-12-05 12:23:40 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2018-12-05 12:23:40 +0100 |
commit | 8caf018e460ca1efbe0df41aa042cf1d25c62dd3 (patch) | |
tree | 92fb851e570c8c5ecfd93155ab4c85cfa74f0fdf /erts | |
parent | f37c8b37f49034fe10898ea47ed9c043ad2ba173 (diff) | |
parent | 754e2022059864f2c4025ab67da759bde922a066 (diff) | |
download | otp-8caf018e460ca1efbe0df41aa042cf1d25c62dd3.tar.gz otp-8caf018e460ca1efbe0df41aa042cf1d25c62dd3.tar.bz2 otp-8caf018e460ca1efbe0df41aa042cf1d25c62dd3.zip |
Merge pull request #2039 from garazdawi/lukas/erts/fix_lit_msg_copy_in_gc/ERL-741/OTP-15478
erts: Fix copy of literal msg during gc
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/beam/erl_gc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c index b4df418cd5..d5dfb096b1 100644 --- a/erts/emulator/beam/erl_gc.c +++ b/erts/emulator/beam/erl_gc.c @@ -2477,7 +2477,7 @@ erts_copy_one_frag(Eterm** hpp, ErlOffHeap* off_heap, *hpp = hp; for (i = 0; i < nrefs; i++) { - if (is_not_immed(refs[i])) + if (is_not_immed(refs[i]) && !erts_is_literal(refs[i],boxed_val(refs[i]))) refs[i] = offset_ptr(refs[i], offs); } bp->off_heap.first = NULL; |