Пример #1
0
        public static void StartPass(PassName name)
        {
#if M_DEBUG
            WriteOutput(name + " pass started...");

            _startTime = Stopwatch.GetTimestamp();
#endif
        }
Пример #2
0
 public TimeSpan GetPassDuration(PassName passName)
 {
     if (!passNameToDuration.TryGetValue(passName, out var value))
     {
         value = default(TimeSpan);
     }
     return(value);
 }
Пример #3
0
        public static void EndPass(PassName name)
        {
            long elapsedTime = Stopwatch.GetTimestamp() - _startTime;

            _accumulatedTime[(int)name] += elapsedTime;

            WriteOutput($"{name} pass ended after {GetMilliseconds(_accumulatedTime[(int)name])} ms...");
        }
Пример #4
0
        public static void EndPass(PassName name, ControlFlowGraph cfg)
        {
            EndPass(name);

            WriteOutput("IR after " + name + " pass:");

            WriteOutput(IRDumper.GetDump(cfg));
        }
Пример #5
0
 public ActionProcessor(Func <InitActionComponent, IEnumerator> functor, Dictionary <string, List <InitActionComponent> > dependencies, Dictionary <Type, ActionDuration> actionDurations, PassName passName, Func <InitActionComponent, bool> conditionalRun)
 {
     this.dependencies    = new Dictionary <string, List <InitActionComponent> >(dependencies);
     this.functor         = functor;
     this.actionDurations = actionDurations;
     this.passName        = passName;
     this.conditionalRun  = conditionalRun;
     activeActions        = 0;
     complete             = false;
 }
Пример #6
0
 public void SetPassDuration(PassName passName, TimeSpan duration)
 {
     passNameToDuration[passName] = duration;
 }