My Project 1.0
Open Source Encrypted Vault Storage
Loading...
Searching...
No Matches
wasm_m2n_invoke.g.h
Go to the documentation of this file.
1/*
2* GENERATED FILE, DON'T EDIT
3* Generated by InterpToNativeGenerator
4*/
5
6#include "pinvoke.h"
7#include <stdlib.h>
8static void
9wasm_invoke_dd (void *target_func, MonoInterpMethodArguments *margs)
10{
11 typedef double (*T)(double arg_0);
12 T func = (T)target_func;
13 double res = func (mono_wasm_interp_method_args_get_darg (margs, 0));
14 void *retval = mono_wasm_interp_method_args_get_retval (margs);
15 *(double*)retval = res;
16}
17
18static void
19wasm_invoke_ddd (void *target_func, MonoInterpMethodArguments *margs)
20{
21 typedef double (*T)(double arg_0, double arg_1);
22 T func = (T)target_func;
23 double res = func (mono_wasm_interp_method_args_get_darg (margs, 0), mono_wasm_interp_method_args_get_darg (margs, 1));
24 void *retval = mono_wasm_interp_method_args_get_retval (margs);
25 *(double*)retval = res;
26}
27
28static void
29wasm_invoke_dddd (void *target_func, MonoInterpMethodArguments *margs)
30{
31 typedef double (*T)(double arg_0, double arg_1, double arg_2);
32 T func = (T)target_func;
33 double res = func (mono_wasm_interp_method_args_get_darg (margs, 0), mono_wasm_interp_method_args_get_darg (margs, 1), mono_wasm_interp_method_args_get_darg (margs, 2));
34 void *retval = mono_wasm_interp_method_args_get_retval (margs);
35 *(double*)retval = res;
36}
37
38static void
39wasm_invoke_ddi (void *target_func, MonoInterpMethodArguments *margs)
40{
41 typedef double (*T)(double arg_0, int arg_1);
42 T func = (T)target_func;
43 double res = func (mono_wasm_interp_method_args_get_darg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 0));
44 void *retval = mono_wasm_interp_method_args_get_retval (margs);
45 *(double*)retval = res;
46}
47
48static void
49wasm_invoke_ff (void *target_func, MonoInterpMethodArguments *margs)
50{
51 typedef float (*T)(float arg_0);
52 T func = (T)target_func;
53 float res = func (mono_wasm_interp_method_args_get_farg (margs, 0));
54 void *retval = mono_wasm_interp_method_args_get_retval (margs);
55 *(float*)retval = res;
56}
57
58static void
59wasm_invoke_fff (void *target_func, MonoInterpMethodArguments *margs)
60{
61 typedef float (*T)(float arg_0, float arg_1);
62 T func = (T)target_func;
63 float res = func (mono_wasm_interp_method_args_get_farg (margs, 0), mono_wasm_interp_method_args_get_farg (margs, 1));
64 void *retval = mono_wasm_interp_method_args_get_retval (margs);
65 *(float*)retval = res;
66}
67
68static void
69wasm_invoke_ffff (void *target_func, MonoInterpMethodArguments *margs)
70{
71 typedef float (*T)(float arg_0, float arg_1, float arg_2);
72 T func = (T)target_func;
73 float res = func (mono_wasm_interp_method_args_get_farg (margs, 0), mono_wasm_interp_method_args_get_farg (margs, 1), mono_wasm_interp_method_args_get_farg (margs, 2));
74 void *retval = mono_wasm_interp_method_args_get_retval (margs);
75 *(float*)retval = res;
76}
77
78static void
79wasm_invoke_ffi (void *target_func, MonoInterpMethodArguments *margs)
80{
81 typedef float (*T)(float arg_0, int arg_1);
82 T func = (T)target_func;
83 float res = func (mono_wasm_interp_method_args_get_farg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 0));
84 void *retval = mono_wasm_interp_method_args_get_retval (margs);
85 *(float*)retval = res;
86}
87
88static void
89wasm_invoke_i (void *target_func, MonoInterpMethodArguments *margs)
90{
91 typedef int (*T)(void);
92 T func = (T)target_func;
93 int res = func ();
94 void *retval = mono_wasm_interp_method_args_get_retval (margs);
95 *(int*)retval = res;
96}
97
98static void
99wasm_invoke_ii (void *target_func, MonoInterpMethodArguments *margs)
100{
101 typedef int (*T)(int arg_0);
102 T func = (T)target_func;
103 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0));
104 void *retval = mono_wasm_interp_method_args_get_retval (margs);
105 *(int*)retval = res;
106}
107
108static void
109wasm_invoke_iii (void *target_func, MonoInterpMethodArguments *margs)
110{
111 typedef int (*T)(int arg_0, int arg_1);
112 T func = (T)target_func;
113 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1));
114 void *retval = mono_wasm_interp_method_args_get_retval (margs);
115 *(int*)retval = res;
116}
117
118static void
119wasm_invoke_iiii (void *target_func, MonoInterpMethodArguments *margs)
120{
121 typedef int (*T)(int arg_0, int arg_1, int arg_2);
122 T func = (T)target_func;
123 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2));
124 void *retval = mono_wasm_interp_method_args_get_retval (margs);
125 *(int*)retval = res;
126}
127
128static void
129wasm_invoke_iiiii (void *target_func, MonoInterpMethodArguments *margs)
130{
131 typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3);
132 T func = (T)target_func;
133 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3));
134 void *retval = mono_wasm_interp_method_args_get_retval (margs);
135 *(int*)retval = res;
136}
137
138static void
139wasm_invoke_iiiiii (void *target_func, MonoInterpMethodArguments *margs)
140{
141 typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4);
142 T func = (T)target_func;
143 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3), mono_wasm_interp_method_args_get_iarg (margs, 4));
144 void *retval = mono_wasm_interp_method_args_get_retval (margs);
145 *(int*)retval = res;
146}
147
148static void
149wasm_invoke_iiiiiii (void *target_func, MonoInterpMethodArguments *margs)
150{
151 typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5);
152 T func = (T)target_func;
153 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3), mono_wasm_interp_method_args_get_iarg (margs, 4), mono_wasm_interp_method_args_get_iarg (margs, 5));
154 void *retval = mono_wasm_interp_method_args_get_retval (margs);
155 *(int*)retval = res;
156}
157
158static void
159wasm_invoke_iiiiiiii (void *target_func, MonoInterpMethodArguments *margs)
160{
161 typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5, int arg_6);
162 T func = (T)target_func;
163 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3), mono_wasm_interp_method_args_get_iarg (margs, 4), mono_wasm_interp_method_args_get_iarg (margs, 5), mono_wasm_interp_method_args_get_iarg (margs, 6));
164 void *retval = mono_wasm_interp_method_args_get_retval (margs);
165 *(int*)retval = res;
166}
167
168static void
169wasm_invoke_iiiiiiiii (void *target_func, MonoInterpMethodArguments *margs)
170{
171 typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5, int arg_6, int arg_7);
172 T func = (T)target_func;
173 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3), mono_wasm_interp_method_args_get_iarg (margs, 4), mono_wasm_interp_method_args_get_iarg (margs, 5), mono_wasm_interp_method_args_get_iarg (margs, 6), mono_wasm_interp_method_args_get_iarg (margs, 7));
174 void *retval = mono_wasm_interp_method_args_get_retval (margs);
175 *(int*)retval = res;
176}
177
178static void
179wasm_invoke_iiiil (void *target_func, MonoInterpMethodArguments *margs)
180{
181 typedef int (*T)(int arg_0, int arg_1, int arg_2, int64_t arg_3);
182 T func = (T)target_func;
183 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_larg (margs, 3));
184 void *retval = mono_wasm_interp_method_args_get_retval (margs);
185 *(int*)retval = res;
186}
187
188static void
189wasm_invoke_iil (void *target_func, MonoInterpMethodArguments *margs)
190{
191 typedef int (*T)(int arg_0, int64_t arg_1);
192 T func = (T)target_func;
193 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_larg (margs, 1));
194 void *retval = mono_wasm_interp_method_args_get_retval (margs);
195 *(int*)retval = res;
196}
197
198static void
199wasm_invoke_iill (void *target_func, MonoInterpMethodArguments *margs)
200{
201 typedef int (*T)(int arg_0, int64_t arg_1, int64_t arg_2);
202 T func = (T)target_func;
203 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_larg (margs, 1), mono_wasm_interp_method_args_get_larg (margs, 3));
204 void *retval = mono_wasm_interp_method_args_get_retval (margs);
205 *(int*)retval = res;
206}
207
208static void
209wasm_invoke_iilli (void *target_func, MonoInterpMethodArguments *margs)
210{
211 typedef int (*T)(int arg_0, int64_t arg_1, int64_t arg_2, int arg_3);
212 T func = (T)target_func;
213 int res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_larg (margs, 1), mono_wasm_interp_method_args_get_larg (margs, 3), mono_wasm_interp_method_args_get_iarg (margs, 5));
214 void *retval = mono_wasm_interp_method_args_get_retval (margs);
215 *(int*)retval = res;
216}
217
218static void
219wasm_invoke_l (void *target_func, MonoInterpMethodArguments *margs)
220{
221 typedef int64_t (*T)(void);
222 T func = (T)target_func;
223 int64_t res = func ();
224 void *retval = mono_wasm_interp_method_args_get_retval (margs);
225 *(int64_t*)retval = res;
226}
227
228static void
229wasm_invoke_li (void *target_func, MonoInterpMethodArguments *margs)
230{
231 typedef int64_t (*T)(int arg_0);
232 T func = (T)target_func;
233 int64_t res = func (mono_wasm_interp_method_args_get_iarg (margs, 0));
234 void *retval = mono_wasm_interp_method_args_get_retval (margs);
235 *(int64_t*)retval = res;
236}
237
238static void
239wasm_invoke_liiil (void *target_func, MonoInterpMethodArguments *margs)
240{
241 typedef int64_t (*T)(int arg_0, int arg_1, int arg_2, int64_t arg_3);
242 T func = (T)target_func;
243 int64_t res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_larg (margs, 3));
244 void *retval = mono_wasm_interp_method_args_get_retval (margs);
245 *(int64_t*)retval = res;
246}
247
248static void
249wasm_invoke_lil (void *target_func, MonoInterpMethodArguments *margs)
250{
251 typedef int64_t (*T)(int arg_0, int64_t arg_1);
252 T func = (T)target_func;
253 int64_t res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_larg (margs, 1));
254 void *retval = mono_wasm_interp_method_args_get_retval (margs);
255 *(int64_t*)retval = res;
256}
257
258static void
259wasm_invoke_lili (void *target_func, MonoInterpMethodArguments *margs)
260{
261 typedef int64_t (*T)(int arg_0, int64_t arg_1, int arg_2);
262 T func = (T)target_func;
263 int64_t res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_larg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 3));
264 void *retval = mono_wasm_interp_method_args_get_retval (margs);
265 *(int64_t*)retval = res;
266}
267
268static void
269wasm_invoke_lill (void *target_func, MonoInterpMethodArguments *margs)
270{
271 typedef int64_t (*T)(int arg_0, int64_t arg_1, int64_t arg_2);
272 T func = (T)target_func;
273 int64_t res = func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_larg (margs, 1), mono_wasm_interp_method_args_get_larg (margs, 3));
274 void *retval = mono_wasm_interp_method_args_get_retval (margs);
275 *(int64_t*)retval = res;
276}
277
278static void
279wasm_invoke_v (void *target_func, MonoInterpMethodArguments *margs)
280{
281 typedef void (*T)(void);
282 T func = (T)target_func;
283 func ();
284}
285
286static void
287wasm_invoke_vi (void *target_func, MonoInterpMethodArguments *margs)
288{
289 typedef void (*T)(int arg_0);
290 T func = (T)target_func;
291 func (mono_wasm_interp_method_args_get_iarg (margs, 0));
292}
293
294static void
295wasm_invoke_vii (void *target_func, MonoInterpMethodArguments *margs)
296{
297 typedef void (*T)(int arg_0, int arg_1);
298 T func = (T)target_func;
299 func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1));
300}
301
302static void
303wasm_invoke_viii (void *target_func, MonoInterpMethodArguments *margs)
304{
305 typedef void (*T)(int arg_0, int arg_1, int arg_2);
306 T func = (T)target_func;
307 func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2));
308}
309
310static void
311wasm_invoke_viiii (void *target_func, MonoInterpMethodArguments *margs)
312{
313 typedef void (*T)(int arg_0, int arg_1, int arg_2, int arg_3);
314 T func = (T)target_func;
315 func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3));
316}
317
318static void
319wasm_invoke_viiiii (void *target_func, MonoInterpMethodArguments *margs)
320{
321 typedef void (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4);
322 T func = (T)target_func;
323 func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3), mono_wasm_interp_method_args_get_iarg (margs, 4));
324}
325
326static void
327wasm_invoke_viiiiii (void *target_func, MonoInterpMethodArguments *margs)
328{
329 typedef void (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5);
330 T func = (T)target_func;
331 func (mono_wasm_interp_method_args_get_iarg (margs, 0), mono_wasm_interp_method_args_get_iarg (margs, 1), mono_wasm_interp_method_args_get_iarg (margs, 2), mono_wasm_interp_method_args_get_iarg (margs, 3), mono_wasm_interp_method_args_get_iarg (margs, 4), mono_wasm_interp_method_args_get_iarg (margs, 5));
332}
333
334static void* interp_to_native_invokes[] = {
335 wasm_invoke_dd,
336 wasm_invoke_ddd,
337 wasm_invoke_dddd,
338 wasm_invoke_ddi,
339 wasm_invoke_ff,
340 wasm_invoke_fff,
341 wasm_invoke_ffff,
342 wasm_invoke_ffi,
343 wasm_invoke_i,
344 wasm_invoke_ii,
345 wasm_invoke_iii,
346 wasm_invoke_iiii,
347 wasm_invoke_iiiii,
348 wasm_invoke_iiiiii,
349 wasm_invoke_iiiiiii,
350 wasm_invoke_iiiiiiii,
351 wasm_invoke_iiiiiiiii,
352 wasm_invoke_iiiil,
353 wasm_invoke_iil,
354 wasm_invoke_iill,
355 wasm_invoke_iilli,
356 wasm_invoke_l,
357 wasm_invoke_li,
358 wasm_invoke_liiil,
359 wasm_invoke_lil,
360 wasm_invoke_lili,
361 wasm_invoke_lill,
362 wasm_invoke_v,
363 wasm_invoke_vi,
364 wasm_invoke_vii,
365 wasm_invoke_viii,
366 wasm_invoke_viiii,
367 wasm_invoke_viiiii,
368 wasm_invoke_viiiiii,
369};
370static const char* interp_to_native_signatures[] = {
371 "DD",
372 "DDD",
373 "DDDD",
374 "DDI",
375 "FF",
376 "FFF",
377 "FFFF",
378 "FFI",
379 "I",
380 "II",
381 "III",
382 "IIII",
383 "IIIII",
384 "IIIIII",
385 "IIIIIII",
386 "IIIIIIII",
387 "IIIIIIIII",
388 "IIIIL",
389 "IIL",
390 "IILL",
391 "IILLI",
392 "L",
393 "LI",
394 "LIIIL",
395 "LIL",
396 "LILI",
397 "LILL",
398 "V",
399 "VI",
400 "VII",
401 "VIII",
402 "VIIII",
403 "VIIIII",
404 "VIIIIII",
405};
406static unsigned int interp_to_native_signatures_count = 34;
407
408static int
409compare_icall_tramp (const void *key, const void *elem)
410{
411 return strcmp (key, *(void**)elem);
412}
413
414static void*
415mono_wasm_interp_to_native_callback (char* cookie)
416{
417 void* p = bsearch (cookie, interp_to_native_signatures, interp_to_native_signatures_count, sizeof (void*), compare_icall_tramp);
418 if (!p)
419 return NULL;
420 int idx = (const char**)p - (const char**)interp_to_native_signatures;
421 return interp_to_native_invokes [idx];
422};