Various useful programs for working with .NET or the .NET Jit.
Set
COMPlus_JitInlineDumpXml=N
where N is
- 0 -- no xml
- 1 -- full xml for all methods, including failures (in DEBUG/CHK)
- 2 -- xml only for methods with inlines, including failures (in DEBUG/CHK)
- 3 -- xml only for methods with inlines, no failures
The inline xml is current written to stderr.
cd analyze
dotnet run <inline-xml-file>
You can feed inline Xml into the jit to force it perform particular inlines. The inline xml can come from the jit as above, or you can hand craft the xml or modify the jit's xml.
To enable replay, set
COMPlus_JitInlinePolicyReplay=1
COMPlus_JitInlineReplayFile=inlines.xml
Methods not mentioned in the inline XML will not have any inlines performed.
For an example of how all this can be used to programmatically explore the impact of inlines on a program, see the PerformanceExplorer repo.
Useful for investigating how to do profile reconstruction.
Tool to analyze profile files produced by jit instrumentation.
You can produce these files by running the jit with the following settings
COMPlus_TieredPgo=1
COMPlus_PGODataPath=<some file name>
COMPlus_WritePGOData=1
and possibly adding in
COMPlus_TC_QuickJitForLoops=1