aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2016-07-29 15:59:16 +0200
committerBjörn-Egil Dahlberg <[email protected]>2016-08-01 11:00:22 +0200
commitdbea5c4023ec6ac59bb1988711532682a032536d (patch)
tree65d00457bba63cf7b8c16553b877f80aa92679a9
parent13ec43880b8565a5ddd7da590c36a520d4ff4b26 (diff)
downloadotp-dbea5c4023ec6ac59bb1988711532682a032536d.tar.gz
otp-dbea5c4023ec6ac59bb1988711532682a032536d.tar.bz2
otp-dbea5c4023ec6ac59bb1988711532682a032536d.zip
erts: No need to literal opt message token
-rw-r--r--erts/emulator/beam/erl_gc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c
index 22a7d430c8..cddcc847a3 100644
--- a/erts/emulator/beam/erl_gc.c
+++ b/erts/emulator/beam/erl_gc.c
@@ -2252,10 +2252,12 @@ move_msgq_to_heap(Process *p)
ASSERT(mp->data.dist_ext->heap_size >= 0);
if (is_not_nil(ERL_MESSAGE_TOKEN(mp))) {
bp = erts_dist_ext_trailer(mp->data.dist_ext);
+ /* Tokens does not use literal optimization */
ERL_MESSAGE_TOKEN(mp) = copy_struct(ERL_MESSAGE_TOKEN(mp),
bp->used_size,
- &factory.hp,
- factory.off_heap);
+ &factory.hp,
+ factory.off_heap);
+
erts_cleanup_offheap(&bp->off_heap);
}
ERL_MESSAGE_TERM(mp) = erts_decode_dist_ext(&factory,