X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fmini-generic-sharing.c;h=4c42fd9a75042117473634cfdbb8016781a5300b;hb=c856758e54c2d92ccc858e409caf5617dc7ba1b3;hp=12a6bb6e60937f8453bfcf296417836437f1f9bb;hpb=3f88e7c5170561302e3fef5d5ffdff00ef8a8ede;p=mono.git diff --git a/mono/mini/mini-generic-sharing.c b/mono/mini/mini-generic-sharing.c index 12a6bb6e609..4c42fd9a750 100644 --- a/mono/mini/mini-generic-sharing.c +++ b/mono/mini/mini-generic-sharing.c @@ -1343,9 +1343,6 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti if (virtual) { /* Same as in mono_emit_method_call_full () */ -#ifndef MONO_ARCH_HAVE_IMT - NOT_IMPLEMENTED; -#endif if ((method->klass->parent == mono_defaults.multicastdelegate_class) && (!strcmp (method->name, "Invoke"))) { /* See mono_emit_method_call_full () */ /* The gsharedvt trampoline will recognize this constant */ @@ -2538,7 +2535,7 @@ mini_get_basic_type_from_generic (MonoGenericSharingContext *gsctx, MonoType *ty if (!type->byref && (type->type == MONO_TYPE_VAR || type->type == MONO_TYPE_MVAR) && mini_is_gsharedvt_type_gsctx (gsctx, type)) return type; else - return mono_type_get_basic_type_from_generic (type); + return mini_native_type_replace_type (mono_type_get_basic_type_from_generic (type)); } /* @@ -2689,7 +2686,9 @@ mini_method_get_rgctx (MonoMethod *m) gboolean mini_type_is_vtype (MonoCompile *cfg, MonoType *t) { - return MONO_TYPE_ISSTRUCT (t) || mini_is_gsharedvt_variable_type (cfg, t); + t = mini_native_type_replace_type (t); + + return MONO_TYPE_ISSTRUCT (t) || mini_is_gsharedvt_variable_type (cfg, t); } gboolean @@ -2708,7 +2707,7 @@ mini_is_gsharedvt_variable_klass (MonoCompile *cfg, MonoClass *klass) return mini_is_gsharedvt_variable_type (cfg, &klass->byval_arg); } -#if defined(MONO_GSHARING) +#if defined(ENABLE_GSHAREDVT) #include "../../../mono-extensions/mono/mini/mini-generic-sharing-gsharedvt.c"