While working on the DevTools profiler, I've noticed that durations are sometimes incorrect. This seems to be vaguely related to high/low priority state updates. Need to track this down more so I'm filing an issue for myself.
null,
      nextRenderExpirationTime,
    );
    root.pendingCommitExpirationTime = NoWork;
  }
  let didFatal = false;
  startWorkLoopTimer(nextUnitOfWork);
  do {
    try {
      workLoop(isYieldy);
    } catch (thrownValue) {
      if (enableProfilerTimer) {
        
        stopBaseRenderTimerIfRunning();
      }
      if (nextUnitOfWork === null) {
        
        didFatal = true;
        onUncaughtError(thrownValue);
      } else {
        if (__DEV__) {
          
          
          (resetCurrentlyProcessingQueue: any)();
        }
        const failedUnitOfWork: Fiber = nextUnitOfWork;
        if (__DEV__ && replayFailedUnitOfWorkWithInvokeGuardedCallback) {
          replayUnitOfWork(failedUnitOfWork, thrownValue, isYieldy);
        }
         TODO: we already know this isn't true in some cases.