aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2010-07-22 17:55:28 +0200
committerPatrik Nyblom <[email protected]>2010-08-12 14:55:43 +0200
commit7664e3ac07f51522b464e550e6012056d4ab45d5 (patch)
treeb6f66bea0aa23c2276d2cb7fef4b4d24b2e2c8c8 /erts/emulator/beam/erl_process.c
parentd3f229d4f311c218d6a92f575f63feb3a02eb68c (diff)
downloadotp-7664e3ac07f51522b464e550e6012056d4ab45d5.tar.gz
otp-7664e3ac07f51522b464e550e6012056d4ab45d5.tar.bz2
otp-7664e3ac07f51522b464e550e6012056d4ab45d5.zip
Increase vheap counter to Uint64
This will reduce the risk of integer wrapping in bin vheap counting. The vheap size series will now use the golden ratio instead of doubling and fibonacci sequences. OTP #8730
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index a644520442..c2e62f56a5 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -7799,6 +7799,7 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
p->bin_vheap_sz = p->min_vheap_size;
p->bin_old_vheap_sz = p->min_vheap_size;
p->bin_old_vheap = 0;
+ p->bin_vheap_mature = 0;
/* No need to initialize p->fcalls. */
@@ -8051,6 +8052,7 @@ void erts_init_empty_process(Process *p)
p->bin_vheap_sz = BIN_VH_MIN_SIZE;
p->bin_old_vheap_sz = BIN_VH_MIN_SIZE;
p->bin_old_vheap = 0;
+ p->bin_vheap_mature = 0;
#ifdef ERTS_SMP
p->u.ptimer = NULL;
p->bound_runq = NULL;