[cxx] [wasm] int/ptr casts esp. m2n-gen. (mono/mono#17379)
authorJay Krell <jaykrell@microsoft.com>
Fri, 18 Oct 2019 22:03:00 +0000 (15:03 -0700)
committerAlexander Köplinger <alex.koeplinger@outlook.com>
Fri, 18 Oct 2019 22:03:00 +0000 (00:03 +0200)
Commit migrated from https://github.com/mono/mono/commit/a2992d634b9cfa6ae8572ba597f009cb05104743

src/mono/mono/mini/aot-runtime-wasm.c
src/mono/mono/mini/m2n-gen.cs
src/mono/mono/mini/wasm_m2n_invoke.g.h

index f989b11..ccc5a26 100644 (file)
@@ -83,8 +83,8 @@ static gint64
 get_long_arg (InterpMethodArguments *margs, int idx)
 {
        interp_pair p;
-       p.pair.lo = (gint32)margs->iargs [idx];
-       p.pair.hi = (gint32)margs->iargs [idx + 1];
+       p.pair.lo = (gint32)(gssize)margs->iargs [idx];
+       p.pair.hi = (gint32)(gssize)margs->iargs [idx + 1];
        return p.l;
 }
 
index 72f0823..1260c45 100644 (file)
@@ -10,7 +10,7 @@ class EmitCtx
                switch (c) {
                case 'I':
                        iarg += 1;
-                       return $"(int)margs->iargs [{iarg - 1}]";
+                       return $"(int)(gssize)margs->iargs [{iarg - 1}]";
                case 'F':
                        farg += 1;
                        return $"*(float*)&margs->fargs [FIDX ({farg - 1})]";
index cdc46ca..0e3428d 100644 (file)
@@ -16,7 +16,7 @@ wasm_invoke_vi (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0);
        T func = (T)target_func;
-       func ((int)margs->iargs [0]);
+       func ((int)(gssize)margs->iargs [0]);
 
 }
 
@@ -25,7 +25,7 @@ wasm_invoke_vii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, int arg_1);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1]);
 
 }
 
@@ -34,7 +34,7 @@ wasm_invoke_viii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, int arg_1, int arg_2);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2]);
 
 }
 
@@ -43,7 +43,7 @@ wasm_invoke_viiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, int arg_1, int arg_2, int arg_3);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3]);
 
 }
 
@@ -52,7 +52,7 @@ wasm_invoke_viiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4]);
 
 }
 
@@ -61,7 +61,7 @@ wasm_invoke_viiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5]);
 
 }
 
@@ -70,7 +70,7 @@ wasm_invoke_viiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5, int arg_6);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6]);
 
 }
 
@@ -79,7 +79,7 @@ wasm_invoke_viiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*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);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7]);
 
 }
 
@@ -88,7 +88,7 @@ wasm_invoke_viiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*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, int arg_8);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8]);
 
 }
 
@@ -97,7 +97,7 @@ wasm_invoke_viiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*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, int arg_8, int arg_9);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9]);
 
 }
 
@@ -106,7 +106,7 @@ wasm_invoke_viiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*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, int arg_8, int arg_9, int arg_10);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9], (int)margs->iargs [10]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9], (int)(gssize)margs->iargs [10]);
 
 }
 
@@ -115,7 +115,7 @@ wasm_invoke_viiiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*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, int arg_8, int arg_9, int arg_10, int arg_11);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9], (int)margs->iargs [10], (int)margs->iargs [11]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9], (int)(gssize)margs->iargs [10], (int)(gssize)margs->iargs [11]);
 
 }
 
@@ -124,7 +124,7 @@ wasm_invoke_viiiiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*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, int arg_8, int arg_9, int arg_10, int arg_11, int arg_12);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9], (int)margs->iargs [10], (int)margs->iargs [11], (int)margs->iargs [12]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9], (int)(gssize)margs->iargs [10], (int)(gssize)margs->iargs [11], (int)(gssize)margs->iargs [12]);
 
 }
 
@@ -133,7 +133,7 @@ wasm_invoke_viiiiiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*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, int arg_8, int arg_9, int arg_10, int arg_11, int arg_12, int arg_13);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9], (int)margs->iargs [10], (int)margs->iargs [11], (int)margs->iargs [12], (int)margs->iargs [13]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9], (int)(gssize)margs->iargs [10], (int)(gssize)margs->iargs [11], (int)(gssize)margs->iargs [12], (int)(gssize)margs->iargs [13]);
 
 }
 
@@ -152,7 +152,7 @@ wasm_invoke_ii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0]);
+       int res = func ((int)(gssize)margs->iargs [0]);
        *(int*)margs->retval = res;
 
 }
@@ -162,7 +162,7 @@ wasm_invoke_iii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1]);
        *(int*)margs->retval = res;
 
 }
@@ -172,7 +172,7 @@ wasm_invoke_iiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2]);
        *(int*)margs->retval = res;
 
 }
@@ -182,7 +182,7 @@ wasm_invoke_iiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3]);
        *(int*)margs->retval = res;
 
 }
@@ -192,7 +192,7 @@ wasm_invoke_iiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4]);
        *(int*)margs->retval = res;
 
 }
@@ -202,7 +202,7 @@ wasm_invoke_iiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5]);
        *(int*)margs->retval = res;
 
 }
@@ -212,7 +212,7 @@ wasm_invoke_iiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5, int arg_6);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6]);
        *(int*)margs->retval = res;
 
 }
@@ -222,7 +222,7 @@ wasm_invoke_iiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        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);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7]);
        *(int*)margs->retval = res;
 
 }
@@ -232,7 +232,7 @@ wasm_invoke_iiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        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, int arg_8);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8]);
        *(int*)margs->retval = res;
 
 }
@@ -242,7 +242,7 @@ wasm_invoke_iiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        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, int arg_8, int arg_9);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9]);
        *(int*)margs->retval = res;
 
 }
@@ -252,7 +252,7 @@ wasm_invoke_iiiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        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, int arg_8, int arg_9, int arg_10);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9], (int)margs->iargs [10]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9], (int)(gssize)margs->iargs [10]);
        *(int*)margs->retval = res;
 
 }
@@ -262,7 +262,7 @@ wasm_invoke_iiiiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        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, int arg_8, int arg_9, int arg_10, int arg_11);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9], (int)margs->iargs [10], (int)margs->iargs [11]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9], (int)(gssize)margs->iargs [10], (int)(gssize)margs->iargs [11]);
        *(int*)margs->retval = res;
 
 }
@@ -272,7 +272,7 @@ wasm_invoke_iiiiiiiiiiiiii (void *target_func, InterpMethodArguments *margs)
 {
        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, int arg_8, int arg_9, int arg_10, int arg_11, int arg_12);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7], (int)margs->iargs [8], (int)margs->iargs [9], (int)margs->iargs [10], (int)margs->iargs [11], (int)margs->iargs [12]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7], (int)(gssize)margs->iargs [8], (int)(gssize)margs->iargs [9], (int)(gssize)margs->iargs [10], (int)(gssize)margs->iargs [11], (int)(gssize)margs->iargs [12]);
        *(int*)margs->retval = res;
 
 }
@@ -282,7 +282,7 @@ wasm_invoke_iiliiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, gint64 arg_1, int arg_2, int arg_3, int arg_4, int arg_5);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], get_long_arg (margs, 1), (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6]);
+       int res = func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1), (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6]);
        *(int*)margs->retval = res;
 
 }
@@ -292,7 +292,7 @@ wasm_invoke_iif (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)]);
        *(int*)margs->retval = res;
 
 }
@@ -302,7 +302,7 @@ wasm_invoke_iifi (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, int arg_2);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [1]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [1]);
        *(int*)margs->retval = res;
 
 }
@@ -312,7 +312,7 @@ wasm_invoke_iiff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
        *(int*)margs->retval = res;
 
 }
@@ -322,7 +322,7 @@ wasm_invoke_iffii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(float arg_0, float arg_1, int arg_2, int arg_3);
        T func = (T)target_func;
-       int res = func (*(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)margs->iargs [0], (int)margs->iargs [1]);
+       int res = func (*(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1]);
        *(int*)margs->retval = res;
 
 }
@@ -332,7 +332,7 @@ wasm_invoke_iifii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, int arg_2, int arg_3);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [1], (int)margs->iargs [2]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2]);
        *(int*)margs->retval = res;
 
 }
@@ -342,7 +342,7 @@ wasm_invoke_iiffi (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, int arg_3);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)margs->iargs [1]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)(gssize)margs->iargs [1]);
        *(int*)margs->retval = res;
 
 }
@@ -352,7 +352,7 @@ wasm_invoke_iifff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, float arg_3);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)]);
        *(int*)margs->retval = res;
 
 }
@@ -362,7 +362,7 @@ wasm_invoke_iifffi (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, float arg_3, int arg_4);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], (int)margs->iargs [1]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], (int)(gssize)margs->iargs [1]);
        *(int*)margs->retval = res;
 
 }
@@ -372,7 +372,7 @@ wasm_invoke_iiffii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, int arg_3, int arg_4);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)margs->iargs [1], (int)margs->iargs [2]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2]);
        *(int*)margs->retval = res;
 
 }
@@ -382,7 +382,7 @@ wasm_invoke_iifiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, int arg_2, int arg_3, int arg_4);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3]);
        *(int*)margs->retval = res;
 
 }
@@ -392,7 +392,7 @@ wasm_invoke_iiffffi (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4, int arg_5);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], (int)margs->iargs [1]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], (int)(gssize)margs->iargs [1]);
        *(int*)margs->retval = res;
 
 }
@@ -402,7 +402,7 @@ wasm_invoke_iiffffii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4, int arg_5, int arg_6);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], (int)margs->iargs [1], (int)margs->iargs [2]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2]);
        *(int*)margs->retval = res;
 
 }
@@ -412,7 +412,7 @@ wasm_invoke_iiif (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)]);
        *(int*)margs->retval = res;
 
 }
@@ -422,7 +422,7 @@ wasm_invoke_iiifi (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, int arg_3);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [2]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [2]);
        *(int*)margs->retval = res;
 
 }
@@ -432,7 +432,7 @@ wasm_invoke_iiifii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, int arg_3, int arg_4);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [2], (int)margs->iargs [3]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3]);
        *(int*)margs->retval = res;
 
 }
@@ -442,7 +442,7 @@ wasm_invoke_iiifiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, int arg_3, int arg_4, int arg_5);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4]);
        *(int*)margs->retval = res;
 
 }
@@ -452,7 +452,7 @@ wasm_invoke_iiiif (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, float arg_3);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)]);
        *(int*)margs->retval = res;
 
 }
@@ -462,7 +462,7 @@ wasm_invoke_iiiifi (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, float arg_3, int arg_4);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [3]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [3]);
        *(int*)margs->retval = res;
 
 }
@@ -472,7 +472,7 @@ wasm_invoke_iiiifii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, float arg_3, int arg_4, int arg_5);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [3], (int)margs->iargs [4]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4]);
        *(int*)margs->retval = res;
 
 }
@@ -482,7 +482,7 @@ wasm_invoke_iiiifiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, float arg_3, int arg_4, int arg_5, int arg_6);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5]);
        *(int*)margs->retval = res;
 
 }
@@ -492,7 +492,7 @@ wasm_invoke_iiiffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, float arg_3, float arg_4, float arg_5);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)]);
        *(int*)margs->retval = res;
 
 }
@@ -502,7 +502,7 @@ wasm_invoke_iiifffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, float arg_3, float arg_4, float arg_5, float arg_6);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)]);
        *(int*)margs->retval = res;
 
 }
@@ -512,7 +512,7 @@ wasm_invoke_iiffffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4, float arg_5, float arg_6);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)]);
        *(int*)margs->retval = res;
 
 }
@@ -522,7 +522,7 @@ wasm_invoke_iiiffffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, float arg_3, float arg_4, float arg_5, float arg_6, float arg_7);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)]);
        *(int*)margs->retval = res;
 
 }
@@ -532,7 +532,7 @@ wasm_invoke_iiiiiiif (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5, float arg_6);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], *(float*)&margs->fargs [FIDX (0)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], *(float*)&margs->fargs [FIDX (0)]);
        *(int*)margs->retval = res;
 
 }
@@ -542,7 +542,7 @@ wasm_invoke_iiiiiiiff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, int arg_5, float arg_6, float arg_7);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], (int)margs->iargs [5], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
        *(int*)margs->retval = res;
 
 }
@@ -552,7 +552,7 @@ wasm_invoke_iiffffffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4, float arg_5, float arg_6, float arg_7, float arg_8);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], *(float*)&margs->fargs [FIDX (6)], *(float*)&margs->fargs [FIDX (7)]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], *(float*)&margs->fargs [FIDX (6)], *(float*)&margs->fargs [FIDX (7)]);
        *(int*)margs->retval = res;
 
 }
@@ -562,7 +562,7 @@ wasm_invoke_iiiffffffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, float arg_3, float arg_4, float arg_5, float arg_6, float arg_7, float arg_8, float arg_9);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], *(float*)&margs->fargs [FIDX (6)], *(float*)&margs->fargs [FIDX (7)]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], *(float*)&margs->fargs [FIDX (6)], *(float*)&margs->fargs [FIDX (7)]);
        *(int*)margs->retval = res;
 
 }
@@ -572,7 +572,7 @@ wasm_invoke_iiiiiifii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, int arg_4, float arg_5, int arg_6, int arg_7);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4], *(float*)&margs->fargs [FIDX (0)], (int)margs->iargs [5], (int)margs->iargs [6]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4], *(float*)&margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6]);
        *(int*)margs->retval = res;
 
 }
@@ -582,7 +582,7 @@ wasm_invoke_iiiffffffffiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, float arg_2, float arg_3, float arg_4, float arg_5, float arg_6, float arg_7, float arg_8, float arg_9, int arg_10, int arg_11, int arg_12);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], *(float*)&margs->fargs [FIDX (6)], *(float*)&margs->fargs [FIDX (7)], (int)margs->iargs [2], (int)margs->iargs [3], (int)margs->iargs [4]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], *(float*)&margs->fargs [FIDX (6)], *(float*)&margs->fargs [FIDX (7)], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4]);
        *(int*)margs->retval = res;
 
 }
@@ -592,7 +592,7 @@ wasm_invoke_iiiiiffffiiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, int arg_1, int arg_2, int arg_3, float arg_4, float arg_5, float arg_6, float arg_7, int arg_8, int arg_9, int arg_10, int arg_11);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], (int)margs->iargs [4], (int)margs->iargs [5], (int)margs->iargs [6], (int)margs->iargs [7]);
+       int res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], (int)(gssize)margs->iargs [4], (int)(gssize)margs->iargs [5], (int)(gssize)margs->iargs [6], (int)(gssize)margs->iargs [7]);
        *(int*)margs->retval = res;
 
 }
@@ -602,7 +602,7 @@ wasm_invoke_iffffffi (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(float arg_0, float arg_1, float arg_2, float arg_3, float arg_4, float arg_5, int arg_6);
        T func = (T)target_func;
-       int res = func (*(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], (int)margs->iargs [0]);
+       int res = func (*(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)], (int)(gssize)margs->iargs [0]);
        *(int*)margs->retval = res;
 
 }
@@ -612,7 +612,7 @@ wasm_invoke_iiffiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, float arg_1, float arg_2, int arg_3, int arg_4, int arg_5);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)margs->iargs [1], (int)margs->iargs [2], (int)margs->iargs [3]);
+       int res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2], (int)(gssize)margs->iargs [3]);
        *(int*)margs->retval = res;
 
 }
@@ -622,7 +622,7 @@ wasm_invoke_ili (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(gint64 arg_0, int arg_1);
        T func = (T)target_func;
-       int res = func (get_long_arg (margs, 0), (int)margs->iargs [2]);
+       int res = func (get_long_arg (margs, 0), (int)(gssize)margs->iargs [2]);
        *(int*)margs->retval = res;
 
 }
@@ -652,7 +652,7 @@ wasm_invoke_li (void *target_func, InterpMethodArguments *margs)
 {
        typedef gint64 (*T)(int arg_0);
        T func = (T)target_func;
-       gint64 res = func ((int)margs->iargs [0]);
+       gint64 res = func ((int)(gssize)margs->iargs [0]);
        *(gint64*)margs->retval = res;
 
 }
@@ -662,7 +662,7 @@ wasm_invoke_lil (void *target_func, InterpMethodArguments *margs)
 {
        typedef gint64 (*T)(int arg_0, gint64 arg_1);
        T func = (T)target_func;
-       gint64 res = func ((int)margs->iargs [0], get_long_arg (margs, 1));
+       gint64 res = func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1));
        *(gint64*)margs->retval = res;
 
 }
@@ -672,7 +672,7 @@ wasm_invoke_lilii (void *target_func, InterpMethodArguments *margs)
 {
        typedef gint64 (*T)(int arg_0, gint64 arg_1, int arg_2, int arg_3);
        T func = (T)target_func;
-       gint64 res = func ((int)margs->iargs [0], get_long_arg (margs, 1), (int)margs->iargs [3], (int)margs->iargs [4]);
+       gint64 res = func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1), (int)(gssize)margs->iargs [3], (int)(gssize)margs->iargs [4]);
        *(gint64*)margs->retval = res;
 
 }
@@ -692,7 +692,7 @@ wasm_invoke_ddi (void *target_func, InterpMethodArguments *margs)
 {
        typedef double (*T)(double arg_0, int arg_1);
        T func = (T)target_func;
-       double res = func (margs->fargs [FIDX (0)], (int)margs->iargs [0]);
+       double res = func (margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [0]);
        *(double*)margs->retval = res;
 
 }
@@ -712,7 +712,7 @@ wasm_invoke_vif (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, float arg_1);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)]);
+       func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)]);
 
 }
 
@@ -721,7 +721,7 @@ wasm_invoke_viff (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, float arg_1, float arg_2);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
+       func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
 
 }
 
@@ -730,7 +730,7 @@ wasm_invoke_viffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)]);
+       func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)]);
 
 }
 
@@ -739,7 +739,7 @@ wasm_invoke_vifffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4, float arg_5);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)]);
+       func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)]);
 
 }
 
@@ -748,7 +748,7 @@ wasm_invoke_viffffff (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4, float arg_5, float arg_6);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)]);
+       func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], *(float*)&margs->fargs [FIDX (5)]);
 
 }
 
@@ -757,7 +757,7 @@ wasm_invoke_vifffffi (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, float arg_1, float arg_2, float arg_3, float arg_4, float arg_5, int arg_6);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], (int)margs->iargs [1]);
+       func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], *(float*)&margs->fargs [FIDX (2)], *(float*)&margs->fargs [FIDX (3)], *(float*)&margs->fargs [FIDX (4)], (int)(gssize)margs->iargs [1]);
 
 }
 
@@ -766,7 +766,7 @@ wasm_invoke_viiffi (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, int arg_1, float arg_2, float arg_3, int arg_4);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], (int)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)margs->iargs [2]);
+       func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)], (int)(gssize)margs->iargs [2]);
 
 }
 
@@ -795,7 +795,7 @@ wasm_invoke_di (void *target_func, InterpMethodArguments *margs)
 {
        typedef double (*T)(int arg_0);
        T func = (T)target_func;
-       double res = func ((int)margs->iargs [0]);
+       double res = func ((int)(gssize)margs->iargs [0]);
        *(double*)margs->retval = res;
 
 }
@@ -805,7 +805,7 @@ wasm_invoke_fi (void *target_func, InterpMethodArguments *margs)
 {
        typedef float (*T)(int arg_0);
        T func = (T)target_func;
-       float res = func ((int)margs->iargs [0]);
+       float res = func ((int)(gssize)margs->iargs [0]);
        *(float*)margs->retval = res;
 
 }
@@ -815,7 +815,7 @@ wasm_invoke_iil (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, gint64 arg_1);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], get_long_arg (margs, 1));
+       int res = func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1));
        *(int*)margs->retval = res;
 
 }
@@ -825,7 +825,7 @@ wasm_invoke_iili (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, gint64 arg_1, int arg_2);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], get_long_arg (margs, 1), (int)margs->iargs [3]);
+       int res = func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1), (int)(gssize)margs->iargs [3]);
        *(int*)margs->retval = res;
 
 }
@@ -835,7 +835,7 @@ wasm_invoke_iillli (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(int arg_0, gint64 arg_1, gint64 arg_2, gint64 arg_3, int arg_4);
        T func = (T)target_func;
-       int res = func ((int)margs->iargs [0], get_long_arg (margs, 1), get_long_arg (margs, 3), get_long_arg (margs, 5), (int)margs->iargs [7]);
+       int res = func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1), get_long_arg (margs, 3), get_long_arg (margs, 5), (int)(gssize)margs->iargs [7]);
        *(int*)margs->retval = res;
 
 }
@@ -845,7 +845,7 @@ wasm_invoke_idiii (void *target_func, InterpMethodArguments *margs)
 {
        typedef int (*T)(double arg_0, int arg_1, int arg_2, int arg_3);
        T func = (T)target_func;
-       int res = func (margs->fargs [FIDX (0)], (int)margs->iargs [0], (int)margs->iargs [1], (int)margs->iargs [2]);
+       int res = func (margs->fargs [FIDX (0)], (int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1], (int)(gssize)margs->iargs [2]);
        *(int*)margs->retval = res;
 
 }
@@ -855,7 +855,7 @@ wasm_invoke_lii (void *target_func, InterpMethodArguments *margs)
 {
        typedef gint64 (*T)(int arg_0, int arg_1);
        T func = (T)target_func;
-       gint64 res = func ((int)margs->iargs [0], (int)margs->iargs [1]);
+       gint64 res = func ((int)(gssize)margs->iargs [0], (int)(gssize)margs->iargs [1]);
        *(gint64*)margs->retval = res;
 
 }
@@ -865,7 +865,7 @@ wasm_invoke_vid (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, double arg_1);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], margs->fargs [FIDX (0)]);
+       func ((int)(gssize)margs->iargs [0], margs->fargs [FIDX (0)]);
 
 }
 
@@ -874,7 +874,7 @@ wasm_invoke_villi (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, gint64 arg_1, gint64 arg_2, int arg_3);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], get_long_arg (margs, 1), get_long_arg (margs, 3), (int)margs->iargs [5]);
+       func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1), get_long_arg (margs, 3), (int)(gssize)margs->iargs [5]);
 
 }
 
@@ -883,7 +883,7 @@ wasm_invoke_did (void *target_func, InterpMethodArguments *margs)
 {
        typedef double (*T)(int arg_0, double arg_1);
        T func = (T)target_func;
-       double res = func ((int)margs->iargs [0], margs->fargs [FIDX (0)]);
+       double res = func ((int)(gssize)margs->iargs [0], margs->fargs [FIDX (0)]);
        *(double*)margs->retval = res;
 
 }
@@ -893,7 +893,7 @@ wasm_invoke_didd (void *target_func, InterpMethodArguments *margs)
 {
        typedef double (*T)(int arg_0, double arg_1, double arg_2);
        T func = (T)target_func;
-       double res = func ((int)margs->iargs [0], margs->fargs [FIDX (0)], margs->fargs [FIDX (1)]);
+       double res = func ((int)(gssize)margs->iargs [0], margs->fargs [FIDX (0)], margs->fargs [FIDX (1)]);
        *(double*)margs->retval = res;
 
 }
@@ -903,7 +903,7 @@ wasm_invoke_fif (void *target_func, InterpMethodArguments *margs)
 {
        typedef float (*T)(int arg_0, float arg_1);
        T func = (T)target_func;
-       float res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)]);
+       float res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)]);
        *(float*)margs->retval = res;
 
 }
@@ -913,7 +913,7 @@ wasm_invoke_fiff (void *target_func, InterpMethodArguments *margs)
 {
        typedef float (*T)(int arg_0, float arg_1, float arg_2);
        T func = (T)target_func;
-       float res = func ((int)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
+       float res = func ((int)(gssize)margs->iargs [0], *(float*)&margs->fargs [FIDX (0)], *(float*)&margs->fargs [FIDX (1)]);
        *(float*)margs->retval = res;
 
 }
@@ -923,7 +923,7 @@ wasm_invoke_lill (void *target_func, InterpMethodArguments *margs)
 {
        typedef gint64 (*T)(int arg_0, gint64 arg_1, gint64 arg_2);
        T func = (T)target_func;
-       gint64 res = func ((int)margs->iargs [0], get_long_arg (margs, 1), get_long_arg (margs, 3));
+       gint64 res = func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1), get_long_arg (margs, 3));
        *(gint64*)margs->retval = res;
 
 }
@@ -933,7 +933,7 @@ wasm_invoke_vil (void *target_func, InterpMethodArguments *margs)
 {
        typedef void (*T)(int arg_0, gint64 arg_1);
        T func = (T)target_func;
-       func ((int)margs->iargs [0], get_long_arg (margs, 1));
+       func ((int)(gssize)margs->iargs [0], get_long_arg (margs, 1));
 
 }