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.
function updateContextProvider(
  current: Fiber | null,
  workInProgress: Fiber,
  renderExpirationTime: ExpirationTime,
) {
  const providerType: ReactProviderType<any> = workInProgress.type;
  const context: ReactContext<any> = providerType._context;
  const newProps = workInProgress.pendingProps;
  const oldProps = workInProgress.memoizedProps;
  const newValue = newProps.value;
  workInProgress.memoizedProps = newProps;
  if (__DEV__) {
    const providerPropTypes = workInProgress.type.propTypes;
    if (providerPropTypes) {
      checkPropTypes(
        providerPropTypes,
        newProps,
        'prop',
        'Context.Provider',
        ReactCurrentFiber.getCurrentFiberStackInDev,
      );
    }
  }
  let changedBits: number;
  if (oldProps === null) {
    
    changedBits = MAX_SIGNED_31_BIT_INT;
  } else {
    const oldValue = oldProps.value;
    changedBits = calculateChangedBits(context, newValue, oldValue);