/// <summary> /// Dumps one R2RMethod. /// </summary> internal override void DumpMethod(ReadyToRunMethod method) { WriteSubDivider(); method.WriteTo(_writer, _options); if (_options.GC && method.GcInfo != null) { BaseGcInfo gcInfo = method.GcInfo; _writer.WriteLine("GC info:"); _writer.Write(gcInfo); if (_options.Raw) { DumpBytes(method.GcInfoRva, (uint)gcInfo.Size); } } SkipLine(); if (_options.Pgo && method.PgoInfo != null) { _writer.WriteLine("PGO info:"); _writer.Write(method.PgoInfo); if (_options.Raw) { DumpBytes(method.PgoInfo.Offset, (uint)method.PgoInfo.Size, convertToOffset: false); } SkipLine(); } foreach (RuntimeFunction runtimeFunction in method.RuntimeFunctions) { DumpRuntimeFunction(runtimeFunction); } }
/// <summary> /// Dumps one R2RMethod. /// </summary> internal override void DumpMethod(ReadyToRunMethod method) { WriteSubDivider(); method.WriteTo(_writer, _options); if (_options.GC && method.GcInfo != null) { _writer.WriteLine("GC info:"); _writer.Write(method.GcInfo); if (_options.Raw) { DumpBytes(method.GcInfo.Offset, (uint)method.GcInfo.Size, "", false); } } SkipLine(); foreach (RuntimeFunction runtimeFunction in method.RuntimeFunctions) { DumpRuntimeFunction(runtimeFunction); } }