diff options
author | Sverker Eriksson <[email protected]> | 2015-09-04 18:45:06 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2015-09-11 16:42:49 +0200 |
commit | ada8342bedf8d4b84d4c3c10fcfc7919e532fd8c (patch) | |
tree | fe32a650f4ec4f49b057249ba02aa8caec0c57a6 /erts/emulator/beam/beam_bif_load.c | |
parent | 1fd4809777931a4dc166fd9f1b552317a385cd62 (diff) | |
download | otp-ada8342bedf8d4b84d4c3c10fcfc7919e532fd8c.tar.gz otp-ada8342bedf8d4b84d4c3c10fcfc7919e532fd8c.tar.bz2 otp-ada8342bedf8d4b84d4c3c10fcfc7919e532fd8c.zip |
erts: Add new allocator LITERAL
Diffstat (limited to 'erts/emulator/beam/beam_bif_load.c')
-rw-r--r-- | erts/emulator/beam/beam_bif_load.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_bif_load.c b/erts/emulator/beam/beam_bif_load.c index 11508a1b39..68689b8e7f 100644 --- a/erts/emulator/beam/beam_bif_load.c +++ b/erts/emulator/beam/beam_bif_load.c @@ -684,6 +684,9 @@ BIF_RETTYPE finish_after_on_load_2(BIF_ALIST_2) erts_cleanup_funs_on_purge(code, end); beam_catches_delmod(modp->curr.catches, code, modp->curr.code_length, erts_active_code_ix()); + if (code[MI_LITERALS_START]) { + erts_free(ERTS_ALC_T_LITERAL, (void *) code[MI_LITERALS_START]); + } erts_free(ERTS_ALC_T_CODE, (void *) code); modp->curr.code = NULL; modp->curr.code_length = 0; @@ -1019,6 +1022,9 @@ BIF_RETTYPE purge_module_1(BIF_ALIST_1) beam_catches_delmod(modp->old.catches, code, modp->old.code_length, code_ix); decrement_refc(code); + if (code[MI_LITERALS_START]) { + erts_free(ERTS_ALC_T_LITERAL, (void *) code[MI_LITERALS_START]); + } erts_free(ERTS_ALC_T_CODE, (void *) code); modp->old.code = NULL; modp->old.code_length = 0; |