diff options
author | Björn-Egil Dahlberg <[email protected]> | 2010-07-22 17:55:28 +0200 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2010-08-12 14:55:43 +0200 |
commit | 7664e3ac07f51522b464e550e6012056d4ab45d5 (patch) | |
tree | b6f66bea0aa23c2276d2cb7fef4b4d24b2e2c8c8 /erts/emulator/beam/erl_process.h | |
parent | d3f229d4f311c218d6a92f575f63feb3a02eb68c (diff) | |
download | otp-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.h')
-rw-r--r-- | erts/emulator/beam/erl_process.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index c3fef6d38e..08b0144c41 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -537,6 +537,7 @@ struct ErtsPendingSuspend_ { # define MIN_VHEAP_SIZE(p) (p)->min_vheap_size # define BIN_VHEAP_SZ(p) (p)->bin_vheap_sz +# define BIN_VHEAP_MATURE(p) (p)->bin_vheap_mature # define BIN_OLD_VHEAP_SZ(p) (p)->bin_old_vheap_sz # define BIN_OLD_VHEAP(p) (p)->bin_old_vheap @@ -654,9 +655,10 @@ struct process { Uint mbuf_sz; /* Size of all message buffers */ ErtsPSD *psd; /* Rarely used process specific data */ - Uint bin_vheap_sz; /* Virtual heap block size for binaries */ - Uint bin_old_vheap_sz; /* Virtual old heap block size for binaries */ - Uint bin_old_vheap; /* Virtual old heap size for binaries */ + Uint64 bin_vheap_sz; /* Virtual heap block size for binaries */ + Uint64 bin_vheap_mature; /* Virtual heap block size for binaries */ + Uint64 bin_old_vheap_sz; /* Virtual old heap block size for binaries */ + Uint64 bin_old_vheap; /* Virtual old heap size for binaries */ union { #ifdef ERTS_SMP |