diff options
author | Sverker Eriksson <[email protected]> | 2010-07-20 18:49:48 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2010-07-20 18:49:48 +0200 |
commit | 9267b2dc792c0a7632a0dcdc0a49510eb13e465e (patch) | |
tree | e18a6e9d1fd56526893a208d64ead6e285cc6a18 /erts/emulator/beam/dist.c | |
parent | 9f44863204c56dcfa38c67db9662f7f1b7e6c582 (diff) | |
parent | db206769c477aae8bafb7ae9b6b4fe1ad56cf729 (diff) | |
download | otp-9267b2dc792c0a7632a0dcdc0a49510eb13e465e.tar.gz otp-9267b2dc792c0a7632a0dcdc0a49510eb13e465e.tar.bz2 otp-9267b2dc792c0a7632a0dcdc0a49510eb13e465e.zip |
Merge branch 'sverker/one_offheap_list/OTP-8737' into dev
* sverker/one_offheap_list/OTP-8737:
One off-heap list, to eliminate two words per ETS object.
Diffstat (limited to 'erts/emulator/beam/dist.c')
-rw-r--r-- | erts/emulator/beam/dist.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c index d465017949..16b6aeac3f 100644 --- a/erts/emulator/beam/dist.c +++ b/erts/emulator/beam/dist.c @@ -922,12 +922,8 @@ int erts_net_message(Port *prt, UseTmpHeapNoproc(DIST_CTL_DEFAULT_SIZE); /* Thanks to Luke Gorrie */ - off_heap.mso = NULL; -#ifndef HYBRID /* FIND ME! */ - off_heap.funs = NULL; -#endif + off_heap.first = NULL; off_heap.overhead = 0; - off_heap.externals = NULL; ERTS_SMP_CHK_NO_PROC_LOCKS; @@ -1434,16 +1430,8 @@ int erts_net_message(Port *prt, } } - if (off_heap.mso) { - erts_cleanup_mso(off_heap.mso); - } - if (off_heap.externals) { - erts_cleanup_externals(off_heap.externals); - } + erts_cleanup_offheap(&off_heap); #ifndef HYBRID /* FIND ME! */ - if (off_heap.funs) { - erts_cleanup_funs(off_heap.funs); - } if (ctl != ctl_default) { erts_free(ERTS_ALC_T_DCTRL_BUF, (void *) ctl); } @@ -1453,16 +1441,8 @@ int erts_net_message(Port *prt, return 0; data_error: - if (off_heap.mso) { - erts_cleanup_mso(off_heap.mso); - } - if (off_heap.externals) { - erts_cleanup_externals(off_heap.externals); - } + erts_cleanup_offheap(&off_heap); #ifndef HYBRID /* FIND ME! */ - if (off_heap.funs) { - erts_cleanup_funs(off_heap.funs); - } if (ctl != ctl_default) { erts_free(ERTS_ALC_T_DCTRL_BUF, (void *) ctl); } |