diff options
author | Sverker Eriksson <sverker@erlang.org> | 2011-10-13 10:44:41 +0200 |
---|---|---|
committer | Sverker Eriksson <sverker@erlang.org> | 2011-10-26 18:19:19 +0200 |
commit | 99e864e502217e9e8929d8dc17ff8d08eca8dff5 (patch) | |
tree | 6b27b47d0e05fee3e0b043bc539ef27bfd66f9b9 /erts/emulator/hipe/hipe_native_bif.h | |
parent | 36573dcb143db17d9e40b0bd270f2001a9872b63 (diff) | |
download | otp-99e864e502217e9e8929d8dc17ff8d08eca8dff5.tar.gz otp-99e864e502217e9e8929d8dc17ff8d08eca8dff5.tar.bz2 otp-99e864e502217e9e8929d8dc17ff8d08eca8dff5.zip |
erts-hipe: Make some primops use new BIF calling convention
These primops use the standard_bif_interface_X macros in
hipe_bif_list.m4 and must therefor be implemented as bifs for things to work.
Maybe there is room for optimization here to call the primops more directly
with arguments in registers without having to push them on stack to emulate
bif calls.
Diffstat (limited to 'erts/emulator/hipe/hipe_native_bif.h')
-rw-r--r-- | erts/emulator/hipe/hipe_native_bif.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/erts/emulator/hipe/hipe_native_bif.h b/erts/emulator/hipe/hipe_native_bif.h index f310512494..8c9dec180e 100644 --- a/erts/emulator/hipe/hipe_native_bif.h +++ b/erts/emulator/hipe/hipe_native_bif.h @@ -77,19 +77,19 @@ BIF_RETTYPE hipe_conv_big_to_float(BIF_ALIST_1); void hipe_fclearerror_error(Process*); void hipe_select_msg(Process*); void hipe_gc(Process*, Eterm); -Eterm hipe_set_timeout(Process*, Eterm); +BIF_RETTYPE hipe_set_timeout(BIF_ALIST_1); void hipe_handle_exception(Process*); -Eterm hipe_rethrow(Process *c_p, Eterm exc, Eterm value); +BIF_RETTYPE hipe_rethrow(BIF_ALIST_2); char *hipe_bs_allocate(int); Binary *hipe_bs_reallocate(Binary*, int); int hipe_bs_put_small_float(Process*, Eterm, Uint, byte*, unsigned, unsigned); void hipe_bs_put_bits(Eterm, Uint, byte*, unsigned, unsigned); Eterm hipe_bs_utf8_size(Eterm); -Eterm hipe_bs_put_utf8(Process*, Eterm, byte*, unsigned int); +BIF_RETTYPE hipe_bs_put_utf8(BIF_ALIST_3); Eterm hipe_bs_utf16_size(Eterm); -Eterm hipe_bs_put_utf16be(Process*, Eterm, byte*, unsigned int); -Eterm hipe_bs_put_utf16le(Process*, Eterm, byte*, unsigned int); -Eterm hipe_bs_validate_unicode(Process*, Eterm); +BIF_RETTYPE hipe_bs_put_utf16be(BIF_ALIST_3); +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); |