aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_gc.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-08-31 15:39:43 +0200
committerRickard Green <[email protected]>2016-08-31 15:39:43 +0200
commitdafdc7c779b1f6bda54f9a4ea6fb1e26b5e3b096 (patch)
tree7d38635c30d670bcd1f4aa77e041924cc8db1a68 /erts/emulator/beam/erl_gc.c
parent74fecb1c89c9f3149dc0e42b2a4a19827a28370f (diff)
parent2652d2f9b9f58746b80786fe7e62ae36b09bc890 (diff)
downloadotp-dafdc7c779b1f6bda54f9a4ea6fb1e26b5e3b096.tar.gz
otp-dafdc7c779b1f6bda54f9a4ea6fb1e26b5e3b096.tar.bz2
otp-dafdc7c779b1f6bda54f9a4ea6fb1e26b5e3b096.zip
Merge branch 'maint'
* maint: 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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c
index ef18a508a5..830a06fb20 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);