Improve Crossgen2 map file emitter (#35459)
authorTomáš Rylek <trylek@microsoft.com>
Mon, 27 Apr 2020 15:45:22 +0000 (17:45 +0200)
committerGitHub <noreply@github.com>
Mon, 27 Apr 2020 15:45:22 +0000 (17:45 +0200)
commita070557b8357d83edb76dcc2bddd5cd16204aa7b
treee2a1c37cb3ac8d79d34471ab95a096eef533992b
parentf283945906330da0217d3e755a825fc36a309507
Improve Crossgen2 map file emitter (#35459)

* Improve Crossgen2 map file emitter

I have rewritten the file name emitter with two main goals in mind:

1) Fix the long-standing problem that map file wasn't showing true
RVA's of the individual symbols / nodes, making it harder to
correlate its information with in-memory R2R PE layout.

2) Add section size and statistics section roughly mimicking what
JanV presented in his recent analytic breakdown of R2R contents.

Thanks

Tomas
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/CodeGen/ReadyToRunObjectWriter.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/MethodWithGCInfo.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ILCompiler.ReadyToRun.csproj
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ObjectWriter/MapFileBuilder.cs [new file with mode: 0644]
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ObjectWriter/R2RPEBuilder.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/ObjectWriter/SectionBuilder.cs