private void Compile() { var simAdapter = GetSimAdaptor("x86"); compileStartTime = DateTime.Now; Compiler.CompilerOptions.EnableSSA = false; Compiler.CompilerOptions.EnableOptimizations = false; Compiler.CompilerOptions.EnableVariablePromotion = false; Compiler.CompilerOptions.EnableSparseConditionalConstantPropagation = false; Compiler.CompilerOptions.EnableInlinedMethods = false; Compiler.CompilerOptions.LinkerFactory = delegate { return(new SimLinker(simAdapter)); }; Compiler.CompilerFactory = delegate { return(new SimCompiler(simAdapter)); }; Compiler.Execute(Environment.ProcessorCount); SimCPU = simAdapter.SimCPU; SimCPU.Monitor.BreakAtTick = 1; SimCPU.Monitor.BreakOnException = true; SimCPU.Monitor.OnStateUpdate = UpdateSimState; SimCPU.Reset(); Display32 = SimCPU.GetState().NativeRegisterSize == 32; }
public void Restart() { if (SimCPU == null) { return; } Record = false; SimCPU.Monitor.Stop = true; SimCPU.Monitor.StepOverBreakPoint = 0; SimCPU.Reset(); stopwatch.Reset(); Status = "Simulation Reset."; SimCPU.Monitor.OnExecutionStepCompleted(true); symbolView.CreateEntries(); }