public int Run(params string[] args) { var config = new ProgramConfiguration(args); var engine = new mwr.HTMLEngine(config); int result; if (config.EnableReplay) { result = mwr.RecordReplayManager.RunReplay(config.ReplayFilename, config.ReplayParams); } else if (config.DumpJSOnly || !string.IsNullOrEmpty(config.InstJSPrefix)) { LoadRuntime(config); foreach (var pair in _scripts) { var Filename = System.IO.Path.GetFullPath(System.IO.Path.Combine(config.OutputDir, System.IO.Path.GetFileNameWithoutExtension(pair.Key) + "_inst.js")); var output = new System.IO.StreamWriter(Filename); //mjr.AstWriter writer; //if (config.DumpJSOnly) // writer = new mjr.AstWriter(output); //else // writer = new mjr.CodeGen.JSIntrumentor(output); //writer.Execute(_runtime.Scripts.GetOrAdd(pair.Value, pair.Key, _runtime)); output.Close(); } result = 0; } else if (config.OnlyLex || config.OnlyParse || config.OnlyAnalyze || config.OnlyJit || config.DumpIRGraph) { LoadRuntime(config); foreach (var pair in _scripts) { DoAll(_runtime.Scripts.GetOrAdd(pair.Value, pair.Key, _runtime), config); } _runtime.ShutDown(); result = 0; } else { result = Run(null, config); } engine.ShutDown(); return(result); }
public int Run(params string[] args) { var config = new ProgramConfiguration(args); var engine = new mwr.HTMLEngine(config); int result; if (config.EnableReplay) { result = mwr.RecordReplayManager.RunReplay(config.ReplayFilename, config.ReplayParams); } else if (config.DumpJSOnly || !string.IsNullOrEmpty(config.InstJSPrefix)) { LoadRuntime(config); foreach (var pair in _scripts) { var Filename = System.IO.Path.GetFullPath(System.IO.Path.Combine(config.OutputDir, System.IO.Path.GetFileNameWithoutExtension(pair.Key) + "_inst.js")); var output = new System.IO.StreamWriter(Filename); //mjr.AstWriter writer; //if (config.DumpJSOnly) // writer = new mjr.AstWriter(output); //else // writer = new mjr.CodeGen.JSIntrumentor(output); //writer.Execute(_runtime.Scripts.GetOrAdd(pair.Value, pair.Key, _runtime)); output.Close(); } result = 0; } else if (config.OnlyLex || config.OnlyParse || config.OnlyAnalyze || config.OnlyJit || config.DumpIRGraph) { LoadRuntime(config); foreach (var pair in _scripts) DoAll(_runtime.Scripts.GetOrAdd(pair.Value, pair.Key, _runtime), config); _runtime.ShutDown(); result = 0; } else result = Run(null, config); engine.ShutDown(); return result; }