Skip to content

Conversation

@BruceForstall
Copy link
Contributor

Crossgen2 abuses the CORINFO_SIG_INFO.pSig field by treating
it as an opaque handle/pointer, and not a pointer to an array
of signature bytes. Work around this by detecting this case
and storing/restoring the pointer instead of a signature byte
array.

Also, add and improve some dump functions.

Mostly fixes #47540
(Fixes it to about the same level of failures in crossgen1
compilations.)

Change the JIT-EE interface to force a re-collection, due to
breaking SuperPMI data file format change.

Crossgen2 abuses the `CORINFO_SIG_INFO.pSig` field by treating
it as an opaque handle/pointer, and not a pointer to an array
of signature bytes. Work around this by detecting this case
and storing/restoring the pointer instead of a signature byte
array.

Also, add and improve some dump functions.

Mostly fixes dotnet#47540
(Fixes it to about the same level of failures in crossgen1
compilations.)
@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 2, 2021
@BruceForstall
Copy link
Contributor Author

cc @dotnet/jit-contrib @dotnet/crossgen-contrib

Copy link
Contributor

@sandreenko sandreenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you.

Add logging variables, but leave them under #if 0

Fix handling of getCallInfo throwing an exception.
@BruceForstall BruceForstall merged commit 04fea3e into dotnet:master Feb 3, 2021
@BruceForstall BruceForstall deleted the FixSpmiCg2Clean branch February 3, 2021 03:48
@ghost ghost locked as resolved and limited conversation to collaborators Mar 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

superpmi: crossgen2 collection "clean phase" replay failures

2 participants