diff options
author | Sverker Eriksson <[email protected]> | 2018-01-04 16:30:04 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-01-04 20:39:14 +0100 |
commit | 22c2151b2823e8d74567e04c63ed2678f85f83cf (patch) | |
tree | 244a939607cb6c07ebaefd00f0d13c27c1625dfe /erts/emulator | |
parent | 19f84054b621aaa9ad05748cc72057726faeda01 (diff) | |
download | otp-22c2151b2823e8d74567e04c63ed2678f85f83cf.tar.gz otp-22c2151b2823e8d74567e04c63ed2678f85f83cf.tar.bz2 otp-22c2151b2823e8d74567e04c63ed2678f85f83cf.zip |
erts: Add non fatal big binary creation for test purpose
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/beam/erl_bif_info.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index 80adca0072..4050fb6146 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -4447,6 +4447,19 @@ BIF_RETTYPE erts_debug_set_internal_state_2(BIF_ALIST_2) BIF_RET(res); } } + else if (ERTS_IS_ATOM_STR("binary", BIF_ARG_1)) { + Sint64 size; + if (term_to_Sint64(BIF_ARG_2, &size)) { + Binary* refbin = erts_bin_drv_alloc_fnf(size); + if (!refbin) + BIF_RET(am_false); + sys_memset(refbin->orig_bytes, 0, size); + BIF_RET(erts_build_proc_bin(&MSO(BIF_P), + HAlloc(BIF_P, PROC_BIN_SIZE), + refbin)); + } + } + } BIF_ERROR(BIF_P, BADARG); |