Currently, crossgen2's resolveVirtualMethod fails when the method is an async variant. As a result, async methods cannot currently be devirtualized and may miss optimization opportunities.
We need to implement devirtualization support for async variants of virtual methods in crossgen2.
Relevant files:
- src/coreclr/tools/Common/Compiler/DevirtualizationManager.cs
- src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunCodegenCompilation.cs
- src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs