Fix for issue 32731 (#33534)
authorFadi Hanna <fadim@microsoft.com>
Wed, 18 Mar 2020 18:03:46 +0000 (11:03 -0700)
committerGitHub <noreply@github.com>
Wed, 18 Mar 2020 18:03:46 +0000 (11:03 -0700)
commit41bdf62ffde37187032dfa4bb14c6a656c6d12f6
tree1243fcf1c7afe33af23dae6975992435a1ab332e
parentdc2dd271fd8012e380cfbc2b0a2b07aca390137e
Fix for issue 32731 (#33534)

* Couple of crossgen2 fixes:
1) Fix an issue hitting an assert in the TypeSystem's virtual function resolution
2) Port some inlining rules from crossgen1 - One of them fixes an issue where we would incorrectly inline a virtual method that has a MethodImpl associated with it (test = self_override5)
3) Remove an assert from R2RDump related to the composite work (assert needs to be after loading _readyToRunHeaderRVA, and is actually already at the right place a few lines below)
src/coreclr/src/tools/Common/TypeSystem/Common/MetadataVirtualMethodAlgorithm.cs
src/coreclr/src/tools/crossgen2/ILCompiler.ReadyToRun/Compiler/ReadyToRunCodegenCompilation.cs
src/coreclr/src/tools/crossgen2/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs