diff options
author | Magnus Lång <[email protected]> | 2015-10-23 15:31:28 +0200 |
---|---|---|
committer | Magnus Lång <[email protected]> | 2015-11-27 18:18:37 +0100 |
commit | fd21382290333e6cc25728c1b6dd7c211ddfc297 (patch) | |
tree | e4a2056c903b510c396923574ab5a885fff3e4bd /erts/emulator/hipe/hipe_native_bif.h | |
parent | 6af385b22805cc2e8cee5c0a5f3506361afbe961 (diff) | |
download | otp-fd21382290333e6cc25728c1b6dd7c211ddfc297.tar.gz otp-fd21382290333e6cc25728c1b6dd7c211ddfc297.tar.bz2 otp-fd21382290333e6cc25728c1b6dd7c211ddfc297.zip |
hipe: test unit size match in bs_append
This feature was previously missing and expressions such as
<<<<1:1>>/binary>> would succeed construction when compiled with HiPE.
A primop is_divisible is introduced to handle the case when the unit
size is not a power of two.
Diffstat (limited to 'erts/emulator/hipe/hipe_native_bif.h')
-rw-r--r-- | erts/emulator/hipe/hipe_native_bif.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_native_bif.h b/erts/emulator/hipe/hipe_native_bif.h index 0e1a75f7eb..55a0d3bb1b 100644 --- a/erts/emulator/hipe/hipe_native_bif.h +++ b/erts/emulator/hipe/hipe_native_bif.h @@ -68,6 +68,7 @@ AEXTERN(Eterm,nbif_bs_put_utf16le,(Process*,Eterm,byte*,unsigned int)); AEXTERN(Eterm,nbif_bs_get_utf16,(void)); AEXTERN(Eterm,nbif_bs_validate_unicode,(Process*,Eterm)); AEXTERN(Eterm,nbif_bs_validate_unicode_retract,(void)); +AEXTERN(void,nbif_is_divisible,(Process*,Uint,Uint)); AEXTERN(void,nbif_select_msg,(Process*)); AEXTERN(Eterm,nbif_cmp_2,(void)); @@ -93,6 +94,7 @@ BIF_RETTYPE hipe_bs_put_utf16le(BIF_ALIST_3); BIF_RETTYPE hipe_bs_validate_unicode(BIF_ALIST_1); struct erl_bin_match_buffer; int hipe_bs_validate_unicode_retract(struct erl_bin_match_buffer*, Eterm); +BIF_RETTYPE hipe_is_divisible(BIF_ALIST_2); #ifdef NO_FPE_SIGNALS AEXTERN(void,nbif_emulate_fpe,(Process*)); |