diff options
author | Rickard Green <[email protected]> | 2016-08-31 15:37:56 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2016-08-31 15:37:56 +0200 |
commit | 2652d2f9b9f58746b80786fe7e62ae36b09bc890 (patch) | |
tree | 50eecb885785c0209b39e795f733fc10ed6a3ee1 /erts/emulator/beam/erl_gc.c | |
parent | 451eb69edbe6c1b2ed53bcac18babda57e5f964c (diff) | |
parent | f36e430a1482ee91d7f8b5ff72477ee6882b876d (diff) | |
download | otp-2652d2f9b9f58746b80786fe7e62ae36b09bc890.tar.gz otp-2652d2f9b9f58746b80786fe7e62ae36b09bc890.tar.bz2 otp-2652d2f9b9f58746b80786fe7e62ae36b09bc890.zip |
Merge branch 'rickard/mbuf_sz/OTP-13851' into maint
* rickard/mbuf_sz/OTP-13851:
Ensure correct mbuf_sz value in process structure
Diffstat (limited to 'erts/emulator/beam/erl_gc.c')
-rw-r--r-- | erts/emulator/beam/erl_gc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c index 8b0dd9a5a6..75f8ebefbd 100644 --- a/erts/emulator/beam/erl_gc.c +++ b/erts/emulator/beam/erl_gc.c @@ -517,6 +517,8 @@ delay_garbage_collection(Process *p, ErlHeapFragment *live_hf_end, int need, int erts_proc_sched_data((p))->virtual_reds += vreds; } + ERTS_CHK_MBUF_SZ(p); + ASSERT(CONTEXT_REDS >= erts_proc_sched_data(p)->virtual_reds); return reds_left; } @@ -527,6 +529,8 @@ young_gen_usage(Process *p) Uint hsz; Eterm *aheap; + ERTS_CHK_MBUF_SZ(p); + hsz = p->mbuf_sz; if (p->flags & F_ON_HEAP_MSGQ) { @@ -590,6 +594,8 @@ garbage_collect(Process* p, ErlHeapFragment *live_hf_end, DTRACE_CHARBUF(pidbuf, DTRACE_TERM_BUF_SIZE); #endif + ERTS_CHK_MBUF_SZ(p); + ASSERT(CONTEXT_REDS - ERTS_REDS_LEFT(p, fcalls) >= erts_proc_sched_data(p)->virtual_reds); |