diff options
author | Lukas Larsson <[email protected]> | 2016-06-19 22:52:30 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2016-07-14 16:00:40 +0200 |
commit | 80b628bb624101e1a4aaee0ddeb0274ee2aac455 (patch) | |
tree | 61db27e4976632fd0dda6a009fa5c2ba260a11c0 /erts/emulator/beam/beam_emu.c | |
parent | cb5fca03189deb691b9bc2f1f8bd65033bd99320 (diff) | |
download | otp-80b628bb624101e1a4aaee0ddeb0274ee2aac455.tar.gz otp-80b628bb624101e1a4aaee0ddeb0274ee2aac455.tar.bz2 otp-80b628bb624101e1a4aaee0ddeb0274ee2aac455.zip |
erts: Add erts_map_from_ks_and_vs
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r-- | erts/emulator/beam/beam_emu.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index 4716460a6b..797880d452 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -7017,7 +7017,11 @@ update_map_assoc(Process* p, Eterm* reg, Eterm map, BeamInstr* I) /* The expensive case, need to build a hashmap */ if (n > MAP_SMALL_MAP_LIMIT) { - res = erts_hashmap_from_ks_and_vs(p,flatmap_get_keys(mp),flatmap_get_values(mp),n); + ErtsHeapFactory factory; + erts_factory_proc_init(&factory, p); + res = erts_hashmap_from_ks_and_vs(&factory,flatmap_get_keys(mp), + flatmap_get_values(mp),n); + erts_factory_close(&factory); } return res; } |