Uh oh!
There was an error while loading. Please reload this page.
Report CORINFO_CALLCONV_GENERIC to JIT - #121561
Conversation
Apparently we got away without reporting this until the test in dotnet#121130 was added. Not reporting the calling convention results in this not kicking in: https://github.com/dotnet/runtime/blob/5e97723bdd8eb9eff95c52b7120cec6bfb5a0a19/src/coreclr/jit/importer.cpp#L7291-L7297 And failing the test.
There was a problem hiding this comment.
Pull Request Overview
This PR fixes broken outerloop tests by ensuring that the CORINFO_CALLCONV_GENERIC calling convention flag is properly reported to the JIT compiler. Previously, the AOT compiler was not setting the generic flag in method signatures, which caused the JIT to miss important optimizations/checks when compiling generic method calls.
- Added
Genericflag toMethodSignatureFlagsenum - Implemented
IsGenericproperty onMethodSignatureto check the flag - Set the flag during ECMA signature parsing when the metadata indicates a generic signature
- Report the flag to JIT through
CORINFO_CALLCONV_GENERICin the calling convention
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/coreclr/tools/Common/TypeSystem/Ecma/EcmaSignatureParser.cs | Set the Generic flag when parsing method signatures with generic parameters from ECMA metadata |
| src/coreclr/tools/Common/TypeSystem/Common/MethodDesc.cs | Add Generic flag enum value and IsGeneric property to MethodSignature class |
| src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs | Report CORINFO_CALLCONV_GENERIC to JIT when signature is generic |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
MichalStrehovsky
commented
Nov 12, 2025
Thanks for nothing, Github. |
MichalStrehovsky
commented
Nov 12, 2025
/azp run runtime-nativeaot-outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas |
jkotas
commented
Nov 13, 2025
/ba-g timeouts |
Outerloops are broken.
Apparently we got away without reporting this until the test in #121130 was added. Not reporting the calling convention results in this not kicking in:
runtime/src/coreclr/jit/importer.cpp
Lines 7291 to 7297 in 5e97723
and failing the test.
Cc @dotnet/ilc-contrib