2006-04-04 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / mini / jit-icalls.h
1 #ifndef __MONO_JIT_ICALLS_H__
2 #define __MONO_JIT_ICALLS_H__
3
4 #include <math.h>
5
6 #include "mini.h"
7
8 void* mono_ldftn (MonoMethod *method);
9
10 void* mono_ldftn_nosync (MonoMethod *method);
11
12 void* mono_ldvirtfn (MonoObject *obj, MonoMethod *method);
13
14 void helper_stelem_ref (MonoArray *array, int index, MonoObject *val);
15
16 void helper_stelem_ref_check (MonoArray *array, MonoObject *val);
17
18 gint64 mono_llmult (gint64 a, gint64 b);
19
20 guint64 mono_llmult_ovf_un (guint64 a, guint64 b);
21
22 guint64 mono_llmult_ovf (gint64 a, gint64 b);
23
24 gint32 mono_idiv (gint32 a, gint32 b);
25
26 guint32 mono_idiv_un (guint32 a, guint32 b);
27
28 gint32 mono_irem (gint32 a, gint32 b);
29
30 guint32 mono_irem_un (guint32 a, guint32 b);
31
32 gint32 mono_imul (gint32 a, gint32 b);
33
34 gint32 mono_imul_ovf (gint32 a, gint32 b);
35
36 gint32 mono_imul_ovf_un (guint32 a, guint32 b);
37
38 double mono_fdiv (double a, double b);
39
40 gint64 mono_lldiv (gint64 a, gint64 b);
41
42 gint64 mono_llrem (gint64 a, gint64 b);
43
44 guint64 mono_lldiv_un (guint64 a, guint64 b);
45
46 guint64 mono_llrem_un (guint64 a, guint64 b);
47
48 guint64 mono_lshl (guint64 a, gint32 shamt);
49
50 guint64 mono_lshr_un (guint64 a, gint32 shamt);
51
52 gint64 mono_lshr (gint64 a, gint32 shamt);
53
54 gpointer ves_array_element_address (MonoArray *this, ...);
55
56 MonoArray *mono_array_new_va (MonoMethod *cm, ...);
57
58 gpointer mono_class_static_field_address (MonoDomain *domain, MonoClassField *field);
59
60 gpointer mono_ldtoken_wrapper (MonoImage *image, int token, MonoGenericContext *context);
61
62 guint64 mono_fconv_u8 (double v);
63
64 gint64 mono_fconv_i8 (double v);
65
66 guint32 mono_fconv_u4 (double v);
67
68 gint64 mono_fconv_ovf_i8 (double v);
69
70 guint64 mono_fconv_ovf_u8 (double v);
71
72 double mono_lconv_to_r8 (gint64 a);
73
74 float mono_lconv_to_r4 (gint64 a);
75
76 double mono_conv_to_r8_un (guint32 a);
77
78 double mono_lconv_to_r8_un (guint64 a);
79
80 gpointer helper_compile_generic_method (MonoObject *obj, MonoMethod *method, MonoGenericContext *context);
81
82 MonoString *helper_ldstr (MonoImage *image, guint32 idx);
83
84 #endif /* __MONO_JIT_ICALLS_H__ */