X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Faot-runtime-wasm.c;fp=mono%2Fmini%2Faot-runtime-wasm.c;h=b5328ffc99dd3a24edc960b3a752e9a60e78c56d;hb=098e88f3a87205d92516a1fe912b6f84164d0a59;hp=d3b286cd0457418313aaee3dfb651e008074de6c;hpb=02a9ceaebbefdb2435b5758bc0f3cd1f5abc9d5b;p=mono.git diff --git a/mono/mini/aot-runtime-wasm.c b/mono/mini/aot-runtime-wasm.c index d3b286cd045..b5328ffc99d 100644 --- a/mono/mini/aot-runtime-wasm.c +++ b/mono/mini/aot-runtime-wasm.c @@ -196,6 +196,15 @@ wasm_invoke_iiiiii (void *target_func, InterpMethodArguments *margs) *(int*)margs->retval = res; } +static void +wasm_invoke_iiiiiiiii (void *target_func, InterpMethodArguments *margs) +{ + int (*func)(gpointer a, gpointer b, gpointer c, gpointer d, gpointer e, gpointer f, gpointer g, gpointer h) = target_func; + int res = func (margs->iargs [0], margs->iargs [1], margs->iargs [2], margs->iargs [3], margs->iargs [4], margs->iargs [5], margs->iargs [6], margs->iargs [7]); + *(int*)margs->retval = res; +} + + typedef union { gint64 l; struct { @@ -363,6 +372,8 @@ wasm_enter_icall_trampoline (void *target_func, InterpMethodArguments *margs) wasm_invoke_iiiii (target_func, margs); else if (!strcmp ("IIIIII", cookie)) wasm_invoke_iiiiii (target_func, margs); + else if (!strcmp ("IIIIIIIII", cookie)) + wasm_invoke_iiiiiiiii (target_func, margs); else if (!strcmp ("L", cookie)) wasm_invoke_l (target_func, margs); else if (!strcmp ("LL", cookie))