Пример #1
0
            // 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();
                    }
                }
            }
Пример #2
0
            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);
            }