[interp] allow more gregs, enable pinvoke17.exe
authorBernhard Urban <bernhard.urban@xamarin.com>
Sun, 26 Mar 2017 02:06:09 +0000 (22:06 -0400)
committerBernhard Urban <bernhard.urban@xamarin.com>
Sun, 26 Mar 2017 10:12:31 +0000 (06:12 -0400)
mono/mini/interp/interp.c
mono/mini/tramp-amd64.c
mono/tests/Makefile.am

index 668a945464153bac7b3d5e331c68147b4a9c030e..649db8cbfb822fa98755ca126f18c4dc843b74e4 100644 (file)
@@ -763,7 +763,7 @@ static MethodArguments* build_args_from_sig (MonoMethodSignature *sig, MonoInvoc
        if (margs->flen > 0)
                margs->fargs = g_malloc0 (sizeof (double) * margs->flen);
 
-       if (margs->ilen > 8)
+       if (margs->ilen > 12)
                g_error ("build_args_from_sig: TODO, allocate gregs: %d\n", margs->ilen);
 
        if (margs->flen > 3)
index 2e00450da1bcfa18985b8faeef53033bbdd3ff56..cf5d75e4ceb0c901e6e0e806450239f35ec3823b 100644 (file)
@@ -1009,7 +1009,7 @@ gpointer
 mono_arch_get_enter_icall_trampoline (MonoTrampInfo **info)
 {
 #ifdef ENABLE_INTERPRETER
-       const int gregs_num = 8;
+       const int gregs_num = 12;
        const int fregs_num = 3;
        guint8 *start = NULL, *code, *label_gexits [gregs_num], *label_fexits [fregs_num], *label_leave_tramp [3], *label_is_float_ret;
        MonoJumpInfo *ji = NULL;
index db5399099ab0b793e3ecfb9950a56b666000e707..db4fc4709645068e8a9ac95f75b08948cab22c00 100644 (file)
@@ -1021,7 +1021,6 @@ INTERP_DISABLED_TESTS = \
        pinvoke-utf8.exe \
        pinvoke.exe \
        pinvoke11.exe \
-       pinvoke17.exe \
        pinvoke2.exe \
        pinvoke3.exe \
        pinvoke_ppcc.exe \