diff options
author | Anthony Ramine <[email protected]> | 2014-05-09 16:00:54 +0200 |
---|---|---|
committer | Zandra Hird <[email protected]> | 2015-02-24 12:46:20 +0100 |
commit | 0ec91ff571518e199aac7a4da961a80c153483b9 (patch) | |
tree | 007240dc2af973c54d9c8ed605894c36157c4ecd /erts/emulator/beam | |
parent | 4dae7cd0c0fc15f051ac90d6e1c4b19d94a27128 (diff) | |
download | otp-0ec91ff571518e199aac7a4da961a80c153483b9.tar.gz otp-0ec91ff571518e199aac7a4da961a80c153483b9.tar.bz2 otp-0ec91ff571518e199aac7a4da961a80c153483b9.zip |
Allow 4-ary BIFs
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r-- | erts/emulator/beam/beam_emu.c | 2 | ||||
-rw-r--r-- | erts/emulator/beam/bif.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index 3af7c43abf..2d6fad8ae6 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -3553,7 +3553,7 @@ get_map_elements_fail: vbf = (BifFunction) Arg(0); PROCESS_MAIN_CHK_LOCKS(c_p); bif_nif_arity = I[-1]; - ASSERT(bif_nif_arity <= 3); + ASSERT(bif_nif_arity <= 4); ERTS_SMP_UNREQ_PROC_MAIN_LOCK(c_p); reg[0] = r(0); { diff --git a/erts/emulator/beam/bif.h b/erts/emulator/beam/bif.h index 7b69b39511..837cb017ac 100644 --- a/erts/emulator/beam/bif.h +++ b/erts/emulator/beam/bif.h @@ -30,10 +30,12 @@ extern Export* erts_format_cpu_topology_trap; #define BIF_ALIST_1 Process* A__p, Eterm* BIF__ARGS #define BIF_ALIST_2 Process* A__p, Eterm* BIF__ARGS #define BIF_ALIST_3 Process* A__p, Eterm* BIF__ARGS +#define BIF_ALIST_4 Process* A__p, Eterm* BIF__ARGS #define BIF_ARG_1 (BIF__ARGS[0]) #define BIF_ARG_2 (BIF__ARGS[1]) #define BIF_ARG_3 (BIF__ARGS[2]) +#define BIF_ARG_4 (BIF__ARGS[3]) #define ERTS_IS_PROC_OUT_OF_REDS(p) \ ((p)->fcalls > 0 \ |