Methods with calli fail to inline because of unsupported opcode #8519
Labels
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
enhancement
Product code improvement that does NOT require public API changes/additions
optimization
tenet-performance
Performance related issue
Milestone
Today an occurrence of the calli opcode in a method body prevents it from being even considered as an inline candidates quite early on in the Flowgraph processing, while finding basic blocks and then jump targets.
Specifically in Compiler::fgFindJumpTargets(https://github.com/dotnet/coreclr/blob/master/src/jit/flowgraph.cpp#L4767)
This limitation (about inlined call frame for PInvokes) may still hold true for unmanaged calling conventions that require it, but for default calling convention targets there is no need to raise a frame (afaict).
We should be able to remove the restriction for call targets with the default cc without any major plumbing.
The text was updated successfully, but these errors were encountered: