diff options
author | Björn-Egil Dahlberg <[email protected]> | 2016-07-29 15:59:16 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2016-08-01 11:00:22 +0200 |
commit | dbea5c4023ec6ac59bb1988711532682a032536d (patch) | |
tree | 65d00457bba63cf7b8c16553b877f80aa92679a9 /erts | |
parent | 13ec43880b8565a5ddd7da590c36a520d4ff4b26 (diff) | |
download | otp-dbea5c4023ec6ac59bb1988711532682a032536d.tar.gz otp-dbea5c4023ec6ac59bb1988711532682a032536d.tar.bz2 otp-dbea5c4023ec6ac59bb1988711532682a032536d.zip |
erts: No need to literal opt message token
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/beam/erl_gc.c | 6 |
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, |