When I do:
py -3 C:\gh\runtime\src\coreclr\scripts\superpmi.py asmdiffs -target_arch arm64 -filter libraries -jit_name clrjit_win_arm64_x64.dll
I see lots of replay failures in the log file, like:
ERROR: Decode Failure Left@ offset 1d87b719604
ERROR: Decode Failure Right@ offset 1d87b719844
As well as:
ERROR: Exception thrown: SuperPMI assertion 'GetFieldClass->GetIndex((DWORDLONG)field) != -1' failed ("Didn't find 00007FFAB8894BF8")
ERROR: Exception thrown: SuperPMI assertion '(IsValueClass != nullptr) && (IsValueClass->GetIndex((DWORDLONG)cls) != -1)' failed ("Didn't find 00007FFAB9C319A8")
It only seems to affect 9 functions in the libraries collection.
It also reports 431 functions with diffs, but only 5 (in my case) have actual textual diffs, and I’m using the “—gcinfo” option to dump GC info.
@echesakovMSFT says: I think the 426 identical text "diffs" are coming from literal pools in a case when they can be “successfully decoded” (i.e. the values in the pools correspond to some valid instruction encoding).
Related: dotnet/llilc#1098
When I do:
I see lots of replay failures in the log file, like:
As well as:
It only seems to affect 9 functions in the libraries collection.
It also reports 431 functions with diffs, but only 5 (in my case) have actual textual diffs, and I’m using the “—gcinfo” option to dump GC info.
@echesakovMSFT says: I think the 426 identical text "diffs" are coming from literal pools in a case when they can be “successfully decoded” (i.e. the values in the pools correspond to some valid instruction encoding).
Related: dotnet/llilc#1098