X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fjit-icalls.h;h=76ac5084f59df9930dac12fe91ba23a0a5f3a312;hb=fb037f28a274fc2ab522ad6b6b1bb864ec0c530b;hp=9033b9ab1c18efee0dd1fb2281d5c0d05320b42e;hpb=a3ea7ceb4d4f5e2cb8ea421313e8939640fb898c;p=mono.git diff --git a/mono/mini/jit-icalls.h b/mono/mini/jit-icalls.h index 9033b9ab1c1..76ac5084f59 100644 --- a/mono/mini/jit-icalls.h +++ b/mono/mini/jit-icalls.h @@ -5,82 +5,159 @@ #include "mini.h" -void* mono_ldftn (MonoMethod *method); +void* mono_ldftn (MonoMethod *method) MONO_INTERNAL; -void* mono_ldftn_nosync (MonoMethod *method); +void* mono_ldftn_nosync (MonoMethod *method) MONO_INTERNAL; -void* mono_ldvirtfn (MonoObject *obj, MonoMethod *method); +void* mono_ldvirtfn (MonoObject *obj, MonoMethod *method) MONO_INTERNAL; -void mono_helper_stelem_ref_check (MonoArray *array, MonoObject *val); +void* mono_ldvirtfn_gshared (MonoObject *obj, MonoMethod *method) MONO_INTERNAL; -gint64 mono_llmult (gint64 a, gint64 b); +void mono_helper_stelem_ref_check (MonoArray *array, MonoObject *val) MONO_INTERNAL; -guint64 mono_llmult_ovf_un (guint64 a, guint64 b); +gint64 mono_llmult (gint64 a, gint64 b) MONO_INTERNAL; -guint64 mono_llmult_ovf (gint64 a, gint64 b); +guint64 mono_llmult_ovf_un (guint64 a, guint64 b) MONO_INTERNAL; -gint32 mono_idiv (gint32 a, gint32 b); +guint64 mono_llmult_ovf (gint64 a, gint64 b) MONO_INTERNAL; -guint32 mono_idiv_un (guint32 a, guint32 b); +gint32 mono_idiv (gint32 a, gint32 b) MONO_INTERNAL; -gint32 mono_irem (gint32 a, gint32 b); +guint32 mono_idiv_un (guint32 a, guint32 b) MONO_INTERNAL; -guint32 mono_irem_un (guint32 a, guint32 b); +gint32 mono_irem (gint32 a, gint32 b) MONO_INTERNAL; -gint32 mono_imul (gint32 a, gint32 b); +guint32 mono_irem_un (guint32 a, guint32 b) MONO_INTERNAL; -gint32 mono_imul_ovf (gint32 a, gint32 b); +gint32 mono_imul (gint32 a, gint32 b) MONO_INTERNAL; -gint32 mono_imul_ovf_un (guint32 a, guint32 b); +gint32 mono_imul_ovf (gint32 a, gint32 b) MONO_INTERNAL; -double mono_fdiv (double a, double b); +gint32 mono_imul_ovf_un (guint32 a, guint32 b) MONO_INTERNAL; -gint64 mono_lldiv (gint64 a, gint64 b); +double mono_fdiv (double a, double b) MONO_INTERNAL; -gint64 mono_llrem (gint64 a, gint64 b); +gint64 mono_lldiv (gint64 a, gint64 b) MONO_INTERNAL; -guint64 mono_lldiv_un (guint64 a, guint64 b); +gint64 mono_llrem (gint64 a, gint64 b) MONO_INTERNAL; -guint64 mono_llrem_un (guint64 a, guint64 b); +guint64 mono_lldiv_un (guint64 a, guint64 b) MONO_INTERNAL; -guint64 mono_lshl (guint64 a, gint32 shamt); +guint64 mono_llrem_un (guint64 a, guint64 b) MONO_INTERNAL; -guint64 mono_lshr_un (guint64 a, gint32 shamt); +guint64 mono_lshl (guint64 a, gint32 shamt) MONO_INTERNAL; -gint64 mono_lshr (gint64 a, gint32 shamt); +guint64 mono_lshr_un (guint64 a, gint32 shamt) MONO_INTERNAL; -gpointer ves_array_element_address (MonoArray *this, ...); +gint64 mono_lshr (gint64 a, gint32 shamt) MONO_INTERNAL; -MonoArray *mono_array_new_va (MonoMethod *cm, ...); +MonoArray *mono_array_new_va (MonoMethod *cm, ...) MONO_INTERNAL; -gpointer mono_class_static_field_address (MonoDomain *domain, MonoClassField *field); +MonoArray *mono_array_new_2 (MonoMethod *cm, guint32 length1, guint32 length2) MONO_INTERNAL; -gpointer mono_ldtoken_wrapper (MonoImage *image, int token, MonoGenericContext *context); +gpointer mono_class_static_field_address (MonoDomain *domain, MonoClassField *field) MONO_INTERNAL; -guint64 mono_fconv_u8 (double v); +gpointer mono_ldtoken_wrapper (MonoImage *image, int token, MonoGenericContext *context) MONO_INTERNAL; -gint64 mono_fconv_i8 (double v); +gpointer mono_ldtoken_wrapper_generic_shared (MonoImage *image, int token, MonoMethod *method) MONO_INTERNAL; -guint32 mono_fconv_u4 (double v); +guint64 mono_fconv_u8 (double v) MONO_INTERNAL; -gint64 mono_fconv_ovf_i8 (double v); +gint64 mono_fconv_i8 (double v) MONO_INTERNAL; -guint64 mono_fconv_ovf_u8 (double v); +guint32 mono_fconv_u4 (double v) MONO_INTERNAL; -double mono_lconv_to_r8 (gint64 a); +gint64 mono_fconv_ovf_i8 (double v) MONO_INTERNAL; -float mono_lconv_to_r4 (gint64 a); +guint64 mono_fconv_ovf_u8 (double v) MONO_INTERNAL; -double mono_conv_to_r8_un (guint32 a); +double mono_lconv_to_r8 (gint64 a) MONO_INTERNAL; -double mono_lconv_to_r8_un (guint64 a); +double mono_conv_to_r8 (gint32 a) MONO_INTERNAL; -gpointer mono_helper_compile_generic_method (MonoObject *obj, MonoMethod *method, MonoGenericContext *context, gpointer *this_arg); +double mono_conv_to_r4 (gint32 a) MONO_INTERNAL; -MonoString *mono_helper_ldstr (MonoImage *image, guint32 idx); +float mono_lconv_to_r4 (gint64 a) MONO_INTERNAL; -MonoString *mono_helper_ldstr_mscorlib (guint32 idx); +double mono_conv_to_r8_un (guint32 a) MONO_INTERNAL; -MonoObject *mono_helper_newobj_mscorlib (guint32 idx); +double mono_lconv_to_r8_un (guint64 a) MONO_INTERNAL; + +gpointer mono_helper_compile_generic_method (MonoObject *obj, MonoMethod *method, MonoGenericContext *context, gpointer *this_arg) MONO_INTERNAL; + +gpointer mono_helper_compile_generic_method_wo_context (MonoObject *obj, MonoMethod *method, gpointer *this_arg) MONO_INTERNAL; + +MonoString *mono_helper_ldstr (MonoImage *image, guint32 idx) MONO_INTERNAL; + +MonoString *mono_helper_ldstr_mscorlib (guint32 idx) MONO_INTERNAL; + +MonoObject *mono_helper_newobj_mscorlib (guint32 idx) MONO_INTERNAL; + +double mono_fsub (double a, double b) MONO_INTERNAL; + +double mono_fadd (double a, double b) MONO_INTERNAL; + +double mono_fmul (double a, double b) MONO_INTERNAL; + +double mono_fneg (double a) MONO_INTERNAL; + +double mono_fconv_r4 (double a) MONO_INTERNAL; + +gint8 mono_fconv_i1 (double a) MONO_INTERNAL; + +gint16 mono_fconv_i2 (double a) MONO_INTERNAL; + +gint32 mono_fconv_i4 (double a) MONO_INTERNAL; + +guint8 mono_fconv_u1 (double a) MONO_INTERNAL; + +guint16 mono_fconv_u2 (double a) MONO_INTERNAL; + +gboolean mono_fcmp_eq (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_ge (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_gt (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_le (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_lt (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_ne_un (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_ge_un (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_gt_un (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_le_un (double a, double b) MONO_INTERNAL; + +gboolean mono_fcmp_lt_un (double a, double b) MONO_INTERNAL; + +gboolean mono_fceq (double a, double b) MONO_INTERNAL; + +gboolean mono_fcgt (double a, double b) MONO_INTERNAL; + +gboolean mono_fcgt_un (double a, double b) MONO_INTERNAL; + +gboolean mono_fclt (double a, double b) MONO_INTERNAL; + +gboolean mono_fclt_un (double a, double b) MONO_INTERNAL; + +double mono_fload_r4 (float *ptr) MONO_INTERNAL; + +void mono_fstore_r4 (double val, float *ptr) MONO_INTERNAL; + +guint32 mono_fload_r4_arg (double val) MONO_INTERNAL; + +void mono_break (void) MONO_INTERNAL; + +MonoException *mono_create_corlib_exception_0 (guint32 token) MONO_INTERNAL; + +MonoException *mono_create_corlib_exception_1 (guint32 token, MonoString *arg) MONO_INTERNAL; + +MonoException *mono_create_corlib_exception_2 (guint32 token, MonoString *arg1, MonoString *arg2) MONO_INTERNAL; + +MonoObject* mono_object_castclass (MonoObject *obj, MonoClass *klass) MONO_INTERNAL; #endif /* __MONO_JIT_ICALLS_H__ */ +