/* This is the list of runtime versions supported by this JIT.
*/
static const MonoRuntimeInfo supported_runtimes[] = {
- {"v2.0.50215","2.0", { {2,0,0,0}, { 8,0,0,0}, {3,5,0,0}, {3,0,0,0} } },
- {"v2.0.50727","2.0", { {2,0,0,0}, { 8,0,0,0}, {3,5,0,0}, {3,0,0,0} } },
{"v4.0.30319","4.5", { {4,0,0,0}, {10,0,0,0}, {4,0,0,0}, {4,0,0,0} } },
{"v4.0.30128","4.0", { {4,0,0,0}, {10,0,0,0}, {4,0,0,0}, {4,0,0,0} } },
{"v4.0.20506","4.0", { {4,0,0,0}, {10,0,0,0}, {4,0,0,0}, {4,0,0,0} } },
/* The stable runtime version */
-#define DEFAULT_RUNTIME_VERSION "v2.0.50727"
+#define DEFAULT_RUNTIME_VERSION "v4.0.30319"
/* Callbacks installed by the JIT */
static MonoCreateDomainFunc create_domain_hook;
/* AOT cache configuration */
static MonoAotCacheConfig aot_cache_config;
-/* This is intentionally not in the header file, so people don't misuse it. */
-extern void _mono_debug_init_corlib (MonoDomain *domain);
-
static void
get_runtimes_from_exe (const char *exe_file, MonoImage **exe_image, const MonoRuntimeInfo** runtimes);
mono_defaults.corlib, "System", "MonoType");
g_assert (mono_defaults.monotype_class != 0);
+ mono_defaults.runtimetype_class = mono_class_from_name (
+ mono_defaults.corlib, "System", "RuntimeType");
+ g_assert (mono_defaults.runtimetype_class != 0);
+
mono_defaults.exception_class = mono_class_from_name (
mono_defaults.corlib, "System", "Exception");
g_assert (mono_defaults.exception_class != 0);
mono_defaults.customattribute_data_class = mono_class_from_name (
mono_defaults.corlib, "System.Reflection", "CustomAttributeData");
- /* these are initialized lazily when COM features are used */
-
mono_class_init (mono_defaults.array_class);
mono_defaults.generic_nullable_class = mono_class_from_name (
mono_defaults.corlib, "System", "Nullable`1");
domain->friendly_name = g_path_get_basename (filename);
- _mono_debug_init_corlib (domain);
-
return domain;
}
{
return &aot_cache_config;
}
+
+void
+mono_domain_lock (MonoDomain *domain)
+{
+ MONO_PREPARE_BLOCKING
+ mono_locks_acquire (&(domain)->lock, DomainLock);
+ MONO_FINISH_BLOCKING
+}
+
+void
+mono_domain_unlock (MonoDomain *domain)
+{
+ mono_locks_release (&(domain)->lock, DomainLock);
+}