From cc980fd70d98a97e2ff8ac914f2548cf23375dc7 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 19 Feb 2021 11:04:29 +0100 Subject: [PATCH] Optimize `MAssembly::GetClass(MonoClass* monoClass)` search via assembly image early out --- Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp b/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp index 7df6c7abf..40eaf3b00 100644 --- a/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp +++ b/Source/Engine/Scripting/ManagedCLR/MAssembly.Mono.cpp @@ -184,17 +184,9 @@ MClass* MAssembly::GetClass(const StringAnsiView& fullname) const MClass* MAssembly::GetClass(MonoClass* monoClass) const { - // Check input - if (monoClass == nullptr) + if (monoClass == nullptr || !IsLoaded() || mono_class_get_image(monoClass) != _monoImage) return nullptr; - // Check state - if (!IsLoaded()) - { - LOG(Fatal, "Trying to use unloaded assembly {0}! Source: {1}", String(_name), TEXT("MAssembly::GetClass()")); - return nullptr; - } - // Find class by native pointer const auto& classes = GetClasses(); const auto typeToken = mono_class_get_type_token(monoClass);