aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_bif_info.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-01-07 18:56:48 +0100
committerSverker Eriksson <[email protected]>2016-01-07 18:56:48 +0100
commit8c4e2a32656f98e20a970e5ab45fb7405ae0095c (patch)
treee2b93ef1a01c047cbac3a415637dc985e82acd20 /erts/emulator/beam/erl_bif_info.c
parent27cd49c16b442625782d68e6f802a1c76c48d349 (diff)
parent5db3a62f821413f267427b2bc38045324c57aaf6 (diff)
downloadotp-8c4e2a32656f98e20a970e5ab45fb7405ae0095c.tar.gz
otp-8c4e2a32656f98e20a970e5ab45fb7405ae0095c.tar.bz2
otp-8c4e2a32656f98e20a970e5ab45fb7405ae0095c.zip
Merge branch 'sverk/proc-dict-opt'
OTP-13167 * sverk/proc-dict-opt: erts: Add new test case pdict_SUITE:mixed erts: Add 'fill_heap' to erts_debug:state_internal_state erts: Rename proc dict size to arraySize erts: Refactor proc dict with 'usedSlots' erts: Add sizeMask for faster proc dict indexing erts: Remove ProcDict.used erts: Add proc dict macros ERTS_PD_START/SIZE erts: Optimize away function "array_put" in proc dict erts: Optimize hashing in process dictionary
Diffstat (limited to 'erts/emulator/beam/erl_bif_info.c')
-rw-r--r--erts/emulator/beam/erl_bif_info.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c
index ab3ebd6bac..e69908bbef 100644
--- a/erts/emulator/beam/erl_bif_info.c
+++ b/erts/emulator/beam/erl_bif_info.c
@@ -4081,6 +4081,17 @@ BIF_RETTYPE erts_debug_set_internal_state_2(BIF_ALIST_2)
BIF_RET(am_ok);
}
}
+ else if (ERTS_IS_ATOM_STR("fill_heap", BIF_ARG_1)) {
+ UWord left = HeapWordsLeft(BIF_P);
+ if (left > 1) {
+ Eterm* hp = HAlloc(BIF_P, left);
+ *hp = make_pos_bignum_header(left - 1);
+ }
+ if (BIF_ARG_2 == am_true) {
+ FLAGS(BIF_P) |= F_NEED_FULLSWEEP;
+ }
+ BIF_RET(am_ok);
+ }
}
BIF_ERROR(BIF_P, BADARG);