// Because pmi modifies the test overlay, we can't run base and diff tasks in an interleaved manner. protected override void StartDasmWorkBaseDiff(List <string> commandArgs, List <AssemblyInfo> assemblyWorkList) { var progressBar = new ProgressBar(); if (m_config.DoBaseCompiles) { try { InstallBaseJit(); foreach (var assemblyInfo in assemblyWorkList) { StartDasmWorkOne(DasmWorkKind.Base, commandArgs, "base", m_config.BasePath, assemblyInfo); } progressBar.AwaitTasksAndShowProgress(assemblyWorkList, m_config, DasmWorkTasks, !m_config.DoDiffCompiles); } finally { RestoreDefaultJit(); } } if (m_config.DoDiffCompiles) { try { InstallDiffJit(); foreach (var assemblyInfo in assemblyWorkList) { StartDasmWorkOne(DasmWorkKind.Diff, commandArgs, "diff", m_config.DiffPath, assemblyInfo); } progressBar.AwaitTasksAndShowProgress(assemblyWorkList, m_config, DasmWorkTasks, true); } finally { RestoreDefaultJit(); } } }
protected virtual void StartDasmWorkBaseDiff(List <string> commandArgs, List <AssemblyInfo> assemblyWorkList) { foreach (var assemblyInfo in assemblyWorkList) { if (m_config.DoBaseCompiles) { StartDasmWorkOne(DasmWorkKind.Base, commandArgs, "base", m_config.BasePath, assemblyInfo); } if (m_config.DoDiffCompiles) { StartDasmWorkOne(DasmWorkKind.Diff, commandArgs, "diff", m_config.DiffPath, assemblyInfo); } } var progress = new ProgressBar(); progress.AwaitTasksAndShowProgress(assemblyWorkList, m_config, DasmWorkTasks, true); }