X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Managed%2FTizen.Runtime%2FPreloader.cs;h=ea0737b484849398b4bc8dd3c3fa0f9d8e188803;hb=21fb9cc94d130340384105d4a7e29e43ff6a2bd2;hp=afb614d4d21a8bd14fef4754d0ac5258f1fac701;hpb=c9bde4b5405055b8bd05e1ba0a01b6381dcd736e;p=platform%2Fcore%2Fdotnet%2Flauncher.git diff --git a/Managed/Tizen.Runtime/Preloader.cs b/Managed/Tizen.Runtime/Preloader.cs index afb614d..ea0737b 100644 --- a/Managed/Tizen.Runtime/Preloader.cs +++ b/Managed/Tizen.Runtime/Preloader.cs @@ -19,6 +19,7 @@ using System.IO; using System.Reflection; using System.Runtime.Loader; using System.Globalization; +using System.Runtime.CompilerServices; namespace Tizen.Runtime { @@ -30,9 +31,16 @@ namespace Tizen.Runtime // than calling out to the OS for culture-aware casing. // However, in certain languages, the following function may be significantly slowed down. // To avoid that kind situation, call it in advance on the candidate process. + [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)] private static void CheckAsciiCasing() { _ = CultureInfo.CurrentCulture.CompareInfo.Compare("abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", CompareOptions.IgnoreCase); + _ = "abc".ToUpper().ToLower(); + } + + public static void CoreclrPreload() + { + CheckAsciiCasing(); } public static void Preload() @@ -42,6 +50,11 @@ namespace Tizen.Runtime if (!Directory.Exists(preloadPath)) return; + // If TIZEN_UIFW is not set or NUI, do not preload UI related dll + string uifw = System.Environment.GetEnvironmentVariable("TIZEN_UIFW"); + if (uifw == null || uifw != "NUI") + return; + string[] paths = Directory.GetFiles(preloadPath, "*.preload"); Array.Sort(paths); foreach (string path in paths) @@ -60,18 +73,13 @@ namespace Tizen.Runtime if (fileName.IndexOf('.') != 2) continue; - string value = System.Environment.GetEnvironmentVariable("TIZEN_UIFW"); - // if TIZEN_UIFW is not set, do not preload UI related dll - if (value == null && (fileName.Contains("NUI") || fileName.Contains("ElmSharp") || fileName.Contains("XSF") )) - continue; - else if (value == "ElmSharp" && fileName.Contains("NUI")) - continue; - else if (value == "NUI" && (fileName.Contains("ElmSharp") || fileName.Contains("XSF"))) + // TIZEN_UIFW only set NUI + if (fileName.Contains("ElmSharp") || fileName.Contains("XSF")) continue; try { - Console.WriteLine("Start preload : " + fileName); + Console.WriteLine("UIFW: " + uifw + " Start preload : " + fileName); BindingFlags bindingFlag = BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic; foreach (string line in File.ReadLines(path)) {