From 5b30a1580604af5640f9e431410d6f284008d66a Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Mon, 27 Feb 2017 17:55:53 +0100 Subject: [interpreter] allow generic inst type in icall trampoline --- mono/mini/generics.cs | 3 --- mono/mini/interpreter/interp.c | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/mono/mini/generics.cs b/mono/mini/generics.cs index eae71e11f54..5b7618a9d50 100644 --- a/mono/mini/generics.cs +++ b/mono/mini/generics.cs @@ -462,7 +462,6 @@ class Tests } #endif - [Category ("!INTERPRETER")] public static int test_0_ldvirtftn_generic_method () { new GenericsTests ().ldvirtftn (); @@ -489,7 +488,6 @@ class Tests // This cannot be made to work with full-aot, since there it is impossible to // statically determine that Foo.Bar is needed, the code only // references IFoo.Bar - [Category ("!INTERPRETER")] [Category ("!FULLAOT")] public static int test_0_generic_virtual_on_interfaces () { Foo.count1 = 0; @@ -515,7 +513,6 @@ class Tests return 0; } - [Category ("!INTERPRETER")] public static int test_0_generic_virtual_on_interfaces_ref () { Foo.count1 = 0; Foo.count2 = 0; diff --git a/mono/mini/interpreter/interp.c b/mono/mini/interpreter/interp.c index eee3a042a37..8bc422c7e0e 100644 --- a/mono/mini/interpreter/interp.c +++ b/mono/mini/interpreter/interp.c @@ -761,6 +761,7 @@ static MethodArguments* build_args_from_sig (MonoMethodSignature *sig, MonoInvoc case MONO_TYPE_STRING: case MONO_TYPE_I8: case MONO_TYPE_VALUETYPE: + case MONO_TYPE_GENERICINST: margs->ilen++; break; default: @@ -805,6 +806,7 @@ static MethodArguments* build_args_from_sig (MonoMethodSignature *sig, MonoInvoc case MONO_TYPE_STRING: case MONO_TYPE_I8: case MONO_TYPE_VALUETYPE: + case MONO_TYPE_GENERICINST: margs->iargs [int_i] = frame->stack_args [i].data.p; #if DEBUG_INTERP g_print ("build_args_from_sig: margs->iargs[%d]: %p (frame @ %d)\n", int_i, margs->iargs[int_i], i); -- cgit v1.2.3