Support for dumping GC info in R2RDump (#22216)
authorTomáš Rylek <trylek@microsoft.com>
Thu, 31 Jan 2019 23:10:58 +0000 (00:10 +0100)
committerGitHub <noreply@github.com>
Thu, 31 Jan 2019 23:10:58 +0000 (00:10 +0100)
commitd59e2b71b85c4b52eede67d41d31617dbd51bc90
tree03a0665bd3d3830342d5c4814a8e995777d74b35
parente7c6f87f54be723724a4c996d815d59b515b01a6
Support for dumping GC info in R2RDump (#22216)

Thanks to tons of help from Jan Vorlicek I found out that a huge
failure bucket in the CoreCLR Pri#1 tests is caused by incorrect
GC info for generic methods causing failures in catch clauses
where the exception type is a generic referring to a generic
parameter of the method.

As part of investigation of this issue I'm adding provisions for
dumping the GC info alongside methods to make the differences
between CPAOT and Crossgen easier to analyze.

For now I have only implemented the AMD64 variant of the GC info.
Thankfully it turns out that the same GC info is used by both ARM32
and ARM64 so that the only remaining debt is supplying a variant
of the new code for X86.

Thanks

Tomas
src/tools/r2rdump/R2RMethod.cs