[Tizen] Allow marshalling IL_STUB compilation for ndirect methods using crossgen2...
authorGleb Balykov <g.balykov@samsung.com>
Wed, 2 Mar 2022 19:42:28 +0000 (22:42 +0300)
committerGleb Balykov <g.balykov@samsung.com>
Tue, 27 Sep 2022 12:50:22 +0000 (15:50 +0300)
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunCompilationModuleGroupBase.cs

index 4ba66a5..1374ed6 100644 (file)
@@ -347,10 +347,8 @@ namespace ILCompiler
         {
             // PInvokes depend on details of the core library, so for now only compile them if:
             //    1) We're compiling the core library module, or
-            //    2) We're compiling any module, and no marshalling is needed
-            //
-            // TODO Future: consider compiling PInvokes with complex marshalling in version bubble
-            // mode when the core library is included in the bubble.
+            //    2) We're compiling any module, and no marshalling is needed, or
+            //    3) We're compiling any module, and core library module is in the same bubble, and marshaller supports compilation
 
             Debug.Assert(method is EcmaMethod);
 
@@ -359,7 +357,7 @@ namespace ILCompiler
             if (!_versionBubbleModuleSet.Contains(((EcmaMethod)method).Module))
                 return false;
 
-            if (((EcmaMethod)method).Module.Equals(method.Context.SystemModule))
+            if (_versionBubbleModuleSet.Contains(method.Context.SystemModule))
                 return true;
 
             return !Marshaller.IsMarshallingRequired(method);