diff options
author | Sverker Eriksson <[email protected]> | 2013-06-19 18:34:56 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2013-06-19 18:51:06 +0200 |
commit | 5d67cc7f4c176ea6ab4d2538443d5fe264152861 (patch) | |
tree | 02629c584461df3b6f80d09a1de6298af4c3440c /erts/emulator/beam/erl_ao_firstfit_alloc.h | |
parent | f91c381afa2ebed6e37b49b4cc3f81bb9ca9e3eb (diff) | |
download | otp-5d67cc7f4c176ea6ab4d2538443d5fe264152861.tar.gz otp-5d67cc7f4c176ea6ab4d2538443d5fe264152861.tar.bz2 otp-5d67cc7f4c176ea6ab4d2538443d5fe264152861.zip |
erts: Add new allocator strategy aoffcbf
with better performance than aoffcaobf as we don't have to rearrange
the search tree when there are blocks of equal size.
Diffstat (limited to 'erts/emulator/beam/erl_ao_firstfit_alloc.h')
-rw-r--r-- | erts/emulator/beam/erl_ao_firstfit_alloc.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_ao_firstfit_alloc.h b/erts/emulator/beam/erl_ao_firstfit_alloc.h index 87427e8e62..6fa2c0e5bf 100644 --- a/erts/emulator/beam/erl_ao_firstfit_alloc.h +++ b/erts/emulator/beam/erl_ao_firstfit_alloc.h @@ -24,12 +24,17 @@ #include "erl_alloc_util.h" #define ERTS_ALC_AOFF_ALLOC_VSN_STR "0.9" -#define ERTS_ALC_AOFF_CBF_ALLOC_VSN_STR "0.9" typedef struct AOFFAllctr_t_ AOFFAllctr_t; +enum AOFF_Flavor { + AOFF_AOFF = 0, + AOFF_AOBF = 1, + AOFF_BF = 2 +}; + typedef struct { - int bf_within_carrier; + enum AOFF_Flavor flavor; } AOFFAllctrInit_t; #define ERTS_DEFAULT_AOFF_ALLCTR_INIT {0/*dummy*/} @@ -52,7 +57,7 @@ struct AOFFAllctr_t_ { Allctr_t allctr; /* Has to be first! */ struct AOFF_RBTree_t_* mbc_root; - int bf_within_carrier; + enum AOFF_Flavor flavor; }; UWord erts_aoffalc_test(UWord, UWord, UWord); |