internal MonoDisassembler(DisassemblyDiagnoserConfig config) { printIL = config.PrintIL; printAsm = config.PrintAsm; printSource = config.PrintSource; printPrologAndEpilog = config.PrintPrologAndEpilog; recursiveDepth = config.RecursiveDepth; }
private DisassemblyDiagnoser(WindowsDisassembler windowsDisassembler, MonoDisassembler monoDisassembler, DisassemblyDiagnoserConfig config) { Config = config; this.windowsDisassembler = windowsDisassembler; this.monoDisassembler = monoDisassembler; results = new Dictionary <BenchmarkCase, DisassemblyResult>(); Exporters = GetExporters(results, config); }
public DisassemblyDiagnoser(DisassemblyDiagnoserConfig config) { Config = config; windowsDisassembler = new WindowsDisassembler(config); linuxDisassembler = new LinuxDisassembler(config); monoDisassembler = new MonoDisassembler(config); results = new Dictionary <BenchmarkCase, DisassemblyResult>(); Exporters = GetExporters(results, config); }
public DisassemblyDiagnoser(DisassemblyDiagnoserConfig config) { Config = config; windowsDifferentArchitectureDisassembler = new WindowsDisassembler(config); sameArchitectureDisassembler = new SameArchitectureDisassembler(config); monoDisassembler = new MonoDisassembler(config); results = new Dictionary <BenchmarkCase, DisassemblyResult>(); Exporters = GetExporters(results, config); }
private DisassemblyDiagnoser(WindowsDisassembler windowsDisassembler, MonoDisassembler monoDisassembler, DisassemblyDiagnoserConfig config) { Config = config; this.windowsDisassembler = windowsDisassembler; this.monoDisassembler = monoDisassembler; results = new Dictionary <BenchmarkCase, DisassemblyResult>(); Exporters = new IExporter[] { new CombinedDisassemblyExporter(results), new RawDisassemblyExporter(results), new PrettyHtmlDisassemblyExporter(results), new PrettyGithubMarkdownDisassemblyExporter(results) }; }
public IConfigurableDiagnoser <DisassemblyDiagnoserConfig> Configure(DisassemblyDiagnoserConfig config) => Create(config);
public static IConfigurableDiagnoser <DisassemblyDiagnoserConfig> Create(DisassemblyDiagnoserConfig config) => new DisassemblyDiagnoser(new WindowsDisassembler(config), new MonoDisassembler(config), config);
private static IEnumerable <IExporter> GetExporters(Dictionary <BenchmarkCase, DisassemblyResult> results, DisassemblyDiagnoserConfig config) { if (config.ExportGithubMarkdown) { yield return(new GithubMarkdownDisassemblyExporter(results, config)); } if (config.ExportHtml) { yield return(new HtmlDisassemblyExporter(results, config)); } if (config.ExportCombinedDisassemblyReport) { yield return(new CombinedDisassemblyExporter(results, config)); } if (config.ExportDiff) { yield return(new GithubMarkdownDiffDisassemblyExporter(results, config)); } }
private static IEnumerable <IExporter> GetExporters(Dictionary <BenchmarkCase, DisassemblyResult> results, DisassemblyDiagnoserConfig config) { yield return(new CombinedDisassemblyExporter(results)); yield return(new RawDisassemblyExporter(results)); yield return(new PrettyHtmlDisassemblyExporter(results)); yield return(new PrettyGithubMarkdownDisassemblyExporter(results)); if (config.PrintDiff) { yield return(new PrettyGithubMarkdownDiffDisassemblyExporter(results)); } }