From a684f09e58238d3e8ae4bc65e4286754447f1397 Mon Sep 17 00:00:00 2001 From: Sophie Alpert Date: Fri, 19 Oct 2018 23:48:28 -0700 Subject: [PATCH] Make NoWork big instead of small --- packages/react-reconciler/src/ReactFiberExpirationTime.js | 4 ++-- packages/react-reconciler/src/ReactFiberScheduler.js | 5 ++++- .../__snapshots__/ReactIncrementalPerf-test.internal.js.snap | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/react-reconciler/src/ReactFiberExpirationTime.js b/packages/react-reconciler/src/ReactFiberExpirationTime.js index daea8eaf3c..0bd8c9682e 100644 --- a/packages/react-reconciler/src/ReactFiberExpirationTime.js +++ b/packages/react-reconciler/src/ReactFiberExpirationTime.js @@ -11,9 +11,9 @@ import MAX_SIGNED_31_BIT_INT from './maxSigned31BitInt'; export type ExpirationTime = number; -export const NoWork = 0; +export const NoWork = MAX_SIGNED_31_BIT_INT; export const Sync = 1; -export const Never = MAX_SIGNED_31_BIT_INT; +export const Never = MAX_SIGNED_31_BIT_INT - 1; const UNIT_SIZE = 10; const MAGIC_NUMBER_OFFSET = 2; diff --git a/packages/react-reconciler/src/ReactFiberScheduler.js b/packages/react-reconciler/src/ReactFiberScheduler.js index d81dc34e71..4b1af0c114 100644 --- a/packages/react-reconciler/src/ReactFiberScheduler.js +++ b/packages/react-reconciler/src/ReactFiberScheduler.js @@ -1545,7 +1545,10 @@ function computeExpirationForFiber(currentTime: ExpirationTime, fiber: Fiber) { // This is an interactive update. Keep track of the lowest pending // interactive expiration time. This allows us to synchronously flush // all interactive updates when needed. - if (expirationTime > lowestPriorityPendingInteractiveExpirationTime) { + if ( + lowestPriorityPendingInteractiveExpirationTime === NoWork || + expirationTime > lowestPriorityPendingInteractiveExpirationTime + ) { lowestPriorityPendingInteractiveExpirationTime = expirationTime; } } diff --git a/packages/react-reconciler/src/__tests__/__snapshots__/ReactIncrementalPerf-test.internal.js.snap b/packages/react-reconciler/src/__tests__/__snapshots__/ReactIncrementalPerf-test.internal.js.snap index 24f4454f5e..685daad606 100644 --- a/packages/react-reconciler/src/__tests__/__snapshots__/ReactIncrementalPerf-test.internal.js.snap +++ b/packages/react-reconciler/src/__tests__/__snapshots__/ReactIncrementalPerf-test.internal.js.snap @@ -249,7 +249,7 @@ exports[`ReactDebugFiberPerf measures deprioritized work 1`] = ` ⚛ (Committing Host Effects: 1 Total) ⚛ (Calling Lifecycle Methods: 0 Total) -⚛ (Waiting for async callback... will force flush in 10737418210 ms) +⚛ (Waiting for async callback... will force flush in 10737418200 ms) // Flush the child ⚛ (React Tree Reconciliation: Completed Root)