Parse method call chain model file and resolve methods (#47302)
authorSimon Nattress <nattress@gmail.com>
Fri, 22 Jan 2021 04:57:23 +0000 (20:57 -0800)
committerGitHub <noreply@github.com>
Fri, 22 Jan 2021 04:57:23 +0000 (20:57 -0800)
commit311de302de8ac21837e98eb359595e733af38c83
tree0e002798b1b2742b320c21123f58a341490bb744
parent4a9ae3229fbc1f90f7b2e8bfd2c5e258d5fde8b4
Parse method call chain model file and resolve methods (#47302)

* Parse method call chain model file and resolve methods
* Resolve methods from Azure profile trace building a list of caller->callees with counts to use in compilation heuristics
* Resolves the two main forms of methods we see in the traces:

```
System.Core.ni.dll!System.Linq.Enumerable+WhereSelectEnumerableIterator`2[System.__Canon,System.__Canon].MoveNext
Microsoft.Azure.Monitoring.WarmPath.FrontEnd.Middleware.SecurityMiddlewareBase`1+<Invoke>d__6[System.__Canon]!MoveNext
```
src/coreclr/tools/Common/TypeSystem/Common/Utilities/CustomAttributeTypeNameParser.cs
src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/CallChainProfile.cs [new file with mode: 0644]
src/coreclr/tools/aot/ILCompiler.ReadyToRun/ILCompiler.ReadyToRun.csproj
src/coreclr/tools/aot/crossgen2/CommandLineOptions.cs
src/coreclr/tools/aot/crossgen2/Program.cs
src/coreclr/tools/aot/crossgen2/Properties/Resources.resx