File: jit-icalls.h

package info (click to toggle)
mono 4.6.2.7%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 778,148 kB
  • ctags: 914,052
  • sloc: cs: 5,779,509; xml: 2,773,713; ansic: 432,645; sh: 14,749; makefile: 12,361; perl: 2,488; python: 1,434; cpp: 849; asm: 531; sql: 95; sed: 16; php: 1
file content (231 lines) | stat: -rw-r--r-- 6,248 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
#ifndef __MONO_JIT_ICALLS_H__
#define __MONO_JIT_ICALLS_H__

#include <math.h>

#include "mini.h"

void* mono_ldftn (MonoMethod *method);

void* mono_ldvirtfn (MonoObject *obj, MonoMethod *method);

void* mono_ldvirtfn_gshared (MonoObject *obj, MonoMethod *method);

void mono_helper_stelem_ref_check (MonoArray *array, MonoObject *val);

gint64 mono_llmult (gint64 a, gint64 b);

guint64 mono_llmult_ovf_un (guint64 a, guint64 b);

guint64 mono_llmult_ovf (gint64 a, gint64 b);

gint32 mono_idiv (gint32 a, gint32 b);

guint32 mono_idiv_un (guint32 a, guint32 b);

gint32 mono_irem (gint32 a, gint32 b);

guint32 mono_irem_un (guint32 a, guint32 b);

gint32 mono_imul (gint32 a, gint32 b);

gint32 mono_imul_ovf (gint32 a, gint32 b);

gint32 mono_imul_ovf_un (guint32 a, guint32 b);

double mono_fdiv (double a, double b);

gint64 mono_lldiv (gint64 a, gint64 b);

gint64 mono_llrem (gint64 a, gint64 b);

guint64 mono_lldiv_un (guint64 a, guint64 b);

guint64 mono_llrem_un (guint64 a, guint64 b);

guint64 mono_lshl (guint64 a, gint32 shamt);

guint64 mono_lshr_un (guint64 a, gint32 shamt);

gint64 mono_lshr (gint64 a, gint32 shamt);

MonoArray *mono_array_new_va (MonoMethod *cm, ...);

MonoArray *mono_array_new_1 (MonoMethod *cm, guint32 length);

MonoArray *mono_array_new_2 (MonoMethod *cm, guint32 length1, guint32 length2);

MonoArray *mono_array_new_3 (MonoMethod *cm, guint32 length1, guint32 length2, guint32 length3);

MonoArray *mono_array_new_4 (MonoMethod *cm, guint32 length1, guint32 length2, guint32 length3, guint32 length4);

gpointer mono_class_static_field_address (MonoDomain *domain, MonoClassField *field);

gpointer mono_ldtoken_wrapper (MonoImage *image, int token, MonoGenericContext *context);

gpointer mono_ldtoken_wrapper_generic_shared (MonoImage *image, int token, MonoMethod *method);

guint64 mono_fconv_u8 (double v);

guint64 mono_rconv_u8 (float v);

gint64 mono_fconv_i8 (double v);

guint32 mono_fconv_u4 (double v);

gint64 mono_fconv_ovf_i8 (double v);

guint64 mono_fconv_ovf_u8 (double v);

gint64 mono_rconv_i8 (float v);

gint64 mono_rconv_ovf_i8 (float v);

guint64 mono_rconv_ovf_u8 (float v);

double mono_lconv_to_r8 (gint64 a);

double mono_conv_to_r8 (gint32 a);

double mono_conv_to_r4 (gint32 a);

float mono_lconv_to_r4 (gint64 a);

double mono_conv_to_r8_un (guint32 a);

double mono_lconv_to_r8_un (guint64 a);

#if defined(__native_client_codegen__) || defined(__native_client__)
double mono_fmod(double a, double b);
#endif

gpointer mono_helper_compile_generic_method (MonoObject *obj, MonoMethod *method, gpointer *this_arg);

MonoString*
ves_icall_mono_ldstr (MonoDomain *domain, MonoImage *image, guint32 idx);

MonoString *mono_helper_ldstr (MonoImage *image, guint32 idx);

MonoString *mono_helper_ldstr_mscorlib (guint32 idx);

MonoObject *mono_helper_newobj_mscorlib (guint32 idx);

double mono_fsub (double a, double b);

double mono_fadd (double a, double b);

double mono_fmul (double a, double b);

double mono_fneg (double a);

double mono_fconv_r4 (double a);

gint8 mono_fconv_i1 (double a);

gint16 mono_fconv_i2 (double a);

gint32 mono_fconv_i4 (double a);

guint8 mono_fconv_u1 (double a);

guint16 mono_fconv_u2 (double a);

gboolean mono_fcmp_eq (double a, double b);

gboolean mono_fcmp_ge (double a, double b);

gboolean mono_fcmp_gt (double a, double b);

gboolean mono_fcmp_le (double a, double b);

gboolean mono_fcmp_lt (double a, double b);

gboolean mono_fcmp_ne_un (double a, double b);

gboolean mono_fcmp_ge_un (double a, double b);

gboolean mono_fcmp_gt_un (double a, double b);

gboolean mono_fcmp_le_un (double a, double b);

gboolean mono_fcmp_lt_un (double a, double b);

gboolean mono_fceq (double a, double b);

gboolean mono_fcgt (double a, double b);

gboolean mono_fcgt_un (double a, double b);

gboolean mono_fclt (double a, double b);

gboolean mono_fclt_un (double a, double b);

gboolean mono_isfinite (double a);

double   mono_fload_r4 (float *ptr);

void     mono_fstore_r4 (double val, float *ptr);

guint32  mono_fload_r4_arg (double val);

void     mono_break (void);

MonoException *mono_create_corlib_exception_0 (guint32 token);

MonoException *mono_create_corlib_exception_1 (guint32 token, MonoString *arg);

MonoException *mono_create_corlib_exception_2 (guint32 token, MonoString *arg1, MonoString *arg2);

MonoObject* mono_object_castclass_unbox (MonoObject *obj, MonoClass *klass);

gpointer mono_get_native_calli_wrapper (MonoImage *image, MonoMethodSignature *sig, gpointer func);

MonoObject*
mono_object_isinst_with_cache (MonoObject *obj, MonoClass *klass, gpointer *cache);

MonoObject*
mono_object_castclass_with_cache (MonoObject *obj, MonoClass *klass, gpointer *cache);

void
ves_icall_runtime_class_init (MonoVTable *vtable);

void
mono_generic_class_init (MonoVTable *vtable);

void
ves_icall_mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr);

MonoObject*
mono_gsharedvt_constrained_call (gpointer mp, MonoMethod *cmethod, MonoClass *klass, gboolean deref_arg, gpointer *args);

void mono_gsharedvt_value_copy (gpointer dest, gpointer src, MonoClass *klass);

gpointer mono_fill_class_rgctx (MonoVTable *vtable, int index);

gpointer mono_fill_method_rgctx (MonoMethodRuntimeGenericContext *mrgctx, int index);

gpointer mono_resolve_iface_call_gsharedvt (MonoObject *this_obj, int imt_slot, MonoMethod *imt_method, gpointer *out_arg);

gpointer mono_resolve_vcall_gsharedvt (MonoObject *this_obj, int imt_slot, MonoMethod *imt_method, gpointer *out_arg);

MonoFtnDesc* mono_resolve_generic_virtual_call (MonoVTable *vt, int slot, MonoMethod *imt_method);

MonoFtnDesc* mono_resolve_generic_virtual_iface_call (MonoVTable *vt, int imt_slot, MonoMethod *imt_method);

gpointer mono_init_vtable_slot (MonoVTable *vtable, int slot);

void mono_llvmonly_init_delegate (MonoDelegate *del);

void mono_llvmonly_init_delegate_virtual (MonoDelegate *del, MonoObject *target, MonoMethod *method);

MonoObject* mono_get_assembly_object (MonoImage *image);

MonoObject* mono_get_method_object (MonoMethod *method);

double mono_ckfinite (double d);

void mono_throw_method_access (MonoMethod *callee, MonoMethod *caller);

void mono_dummy_jit_icall (void);

#endif /* __MONO_JIT_ICALLS_H__ */