Skip to content

Failures in arm64 superpmi asm diffs #309

Description

@BruceForstall

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions