From bb865afc3456fd6060ed91b7ccf8a86a9198c54d Mon Sep 17 00:00:00 2001 From: Rodrigo Kumpera Date: Mon, 16 Nov 2015 00:22:56 -0500 Subject: [PATCH] [runtime] Replace hand-written type look up/caching with GENERATE_GET_CLASS_WITH_CACHE in threads.c. The macro generates the right form of corlib type lookup & caching. --- mono/metadata/threads.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c index 2eb4e4a4dbb..3c04b893353 100644 --- a/mono/metadata/threads.c +++ b/mono/metadata/threads.c @@ -225,6 +225,9 @@ static gboolean shutting_down = FALSE; static gint32 managed_thread_id_counter = 0; +/* Class lazy loading functions */ +static GENERATE_GET_CLASS_WITH_CACHE (appdomain_unloaded_exception, System, AppDomainUnloadedException) + static void mono_threads_lock (void) { @@ -4961,13 +4964,7 @@ mono_thread_internal_check_for_interruption_critical (MonoInternalThread *thread static inline gboolean is_appdomainunloaded_exception (MonoClass *klass) { - static MonoClass *app_domain_unloaded_exception_klass = NULL; - - if (!app_domain_unloaded_exception_klass) - app_domain_unloaded_exception_klass = mono_class_from_name (mono_defaults.corlib, "System", "AppDomainUnloadedException"); - g_assert (app_domain_unloaded_exception_klass); - - return klass == app_domain_unloaded_exception_klass; + return klass == mono_class_get_appdomain_unloaded_exception_class (); } static inline gboolean -- 2.25.1