[jit] Remove the unused MONO_DISABLE_PENDING_EXCEPTIONS env var, the functionality...
[mono.git] / mono / mini / mini-generic-sharing.c
index 12a6bb6e60937f8453bfcf296417836437f1f9bb..4c42fd9a75042117473634cfdbb8016781a5300b 100644 (file)
@@ -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"