Closed
Description
I was running PMI on test using a command like this:
jit-diff.bat diff -b "D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root" --output D:\Sergey\diffs --core_root D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Release\Tests\Core_Root --pmi --tests --test_root D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked
and has hit many failures: Warning: Failures detected generating asm: 36
, for example,
corerun pmi.dll PrepAll runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\JIT\Regression\CLR-x86-JIT\V1.2-Beta1\b210352\csharpgenerictypes\csharpgenerictypes.dll
fails with:
PREPALL type# 1 method# 56 GenericClass`1[[System.Object, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]::StaticGenericMethodUsesClassTypeParam
Assert failure(PID 28340 [0x00006eb4], Thread: 68064 [0x109e0]): Assertion failed 'typeClass != nullptr' in 'ILStubClass:IL_STUB_InstantiatingStub(System.Object,System.Numerics.Vector`1[Single],System.Type):System.Numerics.Vector`1[Single]' during 'Importation' (IL size 27)
File: D:\Sergey\git\runtime\src\coreclr\src\jit\compiler.hpp Line: 704
Image: D:\Sergey\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\Tests\Core_Root\CoreRun.exe
with stack like:
> clrjit.dll!Compiler::VarTypeIsMultiByteAndCanEnreg(var_types type, CORINFO_CLASS_STRUCT_ * typeClass, unsigned int * typeSize, bool forReturn, bool isVarArg) Line 705 C++
clrjit.dll!Compiler::impTailCallRetTypeCompatible(var_types callerRetType, CORINFO_CLASS_STRUCT_ * callerRetTypeClass, var_types calleeRetType, CORINFO_CLASS_STRUCT_ * calleeRetTypeClass) Line 7388 C++
clrjit.dll!Compiler::impImportCall(opcode_t opcode, CORINFO_RESOLVED_TOKEN * pResolvedToken, CORINFO_RESOLVED_TOKEN * pConstrainedResolvedToken, GenTree * newobjThis, int prefixFlags, CORINFO_CALL_INFO * callInfo, unsigned int rawILOffset) Line 8578 C++
Has anybody seen this behaviour? Is it expected or jit or pmi issue? @dotnet/jit-contrib