public static void StopTimer(m.Util.Timers.Timer timer) { if (timer != null) { timer.Stop(); } }
protected void StartJitTimer(string name) { //names[0] = string.Format("{0}.{1}", System.Threading.Thread.CurrentThread.ManagedThreadId, names[0]); _jitTimeCounter = JSRuntime.StartTimer(JSRuntime.Instance.Configuration.ProfileJitTime, name); }
public void Execute(ref mdr.CallFrame callFrame) { _currFuncMetadata = (JSFunctionMetadata)callFrame.Function.Metadata; Timer = JSRuntime.Instance.Configuration.ProfileFunctionTime ? JSRuntime.StartTimer(JSRuntime.Instance.Configuration.ProfileExecuteTime, "JS/Interpret/" + _currFuncMetadata.Declaration) : JSRuntime.StartTimer(JSRuntime.Instance.Configuration.ProfileExecuteTime, "JS/Interpret"); try { _currScope = _currFuncMetadata.Scope; _currProfiler = ((JSFunctionCode)callFrame.Function.Code).Profiler; Debug.WriteLine("Interpretting {0} with sig=0x{1:X}-->{2} for {3}th time" , _currFuncMetadata.Declaration , callFrame.Signature.Value , string.Join(",", callFrame.Signature.Types) , (_currProfiler!=null ? _currProfiler.ExecutionCount.ToString() : "n-")); RunProlog(ref callFrame); RunBody(ref callFrame); RunEilog(ref callFrame); } finally { JSRuntime.StopTimer(Timer); } }