R2RDump changes for composite R2R format support (#32027)
authorTomáš Rylek <trylek@microsoft.com>
Tue, 11 Feb 2020 01:59:53 +0000 (02:59 +0100)
committerGitHub <noreply@github.com>
Tue, 11 Feb 2020 01:59:53 +0000 (02:59 +0100)
commit93d2fea71beedbafdcec8838bc2fa6b5e40c5695
tree75a213919a4b0adeba77fe3e1bfa3e5ac07475c7
parent490551c221be0683039cebc1e5da5b12b3527c12
R2RDump changes for composite R2R format support (#32027)

I have separated the R2RDump-specific changes from my broader
composite R2R change. The gist of the change is becoming able to
read the new "native R2R header" flavor and look up MSIL in
separate DLL's next to the R2R executable.

On top of this basic scheme I have removed the section ID
duplication between ReadyToRunSection.cs and RuntimeHeaders.cs.
I have also slightly cleaned up unnecessary double dictionary
lookups for R2R sections.

For now I have made EH clause parsing work in single-assembly build
mode only, for composite R2R that will require additional changes.

Thanks

Tomas
15 files changed:
src/coreclr/src/tools/Common/Internal/Runtime/ModuleHeaders.cs
src/coreclr/src/tools/Common/Internal/Runtime/ReadyToRunConstants.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/Amd64/UnwindInfo.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/EHInfo.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/IAssemblyResolver.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/ILCompiler.Reflection.ReadyToRun.csproj
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/PEReaderExtensions.cs [new file with mode: 0644]
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/ReadyToRunHeader.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/ReadyToRunSection.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/ReadyToRunSignature.cs
src/coreclr/src/tools/r2rdump/Extensions.cs
src/coreclr/src/tools/r2rdump/R2RDiff.cs
src/coreclr/src/tools/r2rdump/R2RDump.cs
src/coreclr/src/tools/r2rdump/TextDumper.cs