diff --git a/packages/react-reconciler/src/ReactFiberLane.new.js b/packages/react-reconciler/src/ReactFiberLane.new.js index 24e213b85289e..782f92a14c23a 100644 --- a/packages/react-reconciler/src/ReactFiberLane.new.js +++ b/packages/react-reconciler/src/ReactFiberLane.new.js @@ -37,28 +37,6 @@ export type LaneMap = Array; import {enableCache, enableSchedulingProfiler} from 'shared/ReactFeatureFlags'; -export const SyncLanePriority: LanePriority = 12; - -const InputContinuousHydrationLanePriority: LanePriority = 11; -export const InputContinuousLanePriority: LanePriority = 10; - -const DefaultHydrationLanePriority: LanePriority = 9; -export const DefaultLanePriority: LanePriority = 8; - -const TransitionHydrationPriority: LanePriority = 7; -export const TransitionPriority: LanePriority = 6; - -const RetryLanePriority: LanePriority = 5; - -const SelectiveHydrationLanePriority: LanePriority = 4; - -const IdleHydrationLanePriority: LanePriority = 3; -export const IdleLanePriority: LanePriority = 2; - -const OffscreenLanePriority: LanePriority = 1; - -export const NoLanePriority: LanePriority = 0; - // Lane values below should be kept in sync with getLabelsForLanes(), used by react-devtools-scheduling-profiler. // If those values are changed that package should be rebuilt and redeployed. @@ -162,29 +140,19 @@ export const NoTimestamp = -1; let nextTransitionLane: Lane = TransitionLane1; let nextRetryLane: Lane = RetryLane1; -// "Registers" used to "return" multiple values -// Used by getHighestPriorityLanes and getNextLanes: -let return_highestLanePriority: LanePriority = DefaultLanePriority; - function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { switch (getHighestPriorityLane(lanes)) { case SyncLane: - return_highestLanePriority = SyncLanePriority; return SyncLane; case InputContinuousHydrationLane: - return_highestLanePriority = InputContinuousHydrationLanePriority; return InputContinuousHydrationLane; case InputContinuousLane: - return_highestLanePriority = InputContinuousLanePriority; return InputContinuousLane; case DefaultHydrationLane: - return_highestLanePriority = DefaultHydrationLanePriority; return DefaultHydrationLane; case DefaultLane: - return_highestLanePriority = DefaultLanePriority; return DefaultLane; case TransitionHydrationLane: - return_highestLanePriority = TransitionHydrationPriority; return TransitionHydrationLane; case TransitionLane1: case TransitionLane2: @@ -202,26 +170,20 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { case TransitionLane14: case TransitionLane15: case TransitionLane16: - return_highestLanePriority = TransitionPriority; return lanes & TransitionLanes; case RetryLane1: case RetryLane2: case RetryLane3: case RetryLane4: case RetryLane5: - return_highestLanePriority = RetryLanePriority; return lanes & RetryLanes; case SelectiveHydrationLane: - return_highestLanePriority = SelectiveHydrationLanePriority; return SelectiveHydrationLane; case IdleHydrationLane: - return_highestLanePriority = IdleHydrationLanePriority; return IdleHydrationLane; case IdleLane: - return_highestLanePriority = IdleLanePriority; return IdleLane; case OffscreenLane: - return_highestLanePriority = OffscreenLanePriority; return OffscreenLane; default: if (__DEV__) { @@ -230,7 +192,6 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { ); } // This shouldn't be reachable, but as a fallback, return the entire bitmask. - return_highestLanePriority = DefaultLanePriority; return lanes; } } @@ -239,12 +200,10 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { // Early bailout if there's no pending work left. const pendingLanes = root.pendingLanes; if (pendingLanes === NoLanes) { - return_highestLanePriority = NoLanePriority; return NoLanes; } let nextLanes = NoLanes; - let nextLanePriority = NoLanePriority; const suspendedLanes = root.suspendedLanes; const pingedLanes = root.pingedLanes; @@ -256,12 +215,10 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { const nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes; if (nonIdleUnblockedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes); - nextLanePriority = return_highestLanePriority; } else { const nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes; if (nonIdlePingedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(nonIdlePingedLanes); - nextLanePriority = return_highestLanePriority; } } } else { @@ -269,11 +226,9 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { const unblockedLanes = pendingLanes & ~suspendedLanes; if (unblockedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(unblockedLanes); - nextLanePriority = return_highestLanePriority; } else { if (pingedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(pingedLanes); - nextLanePriority = return_highestLanePriority; } } } @@ -307,8 +262,6 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { ) { // Keep working on the existing in-progress tree. Do not interrupt. return wipLanes; - } else { - return_highestLanePriority = nextLanePriority; } } @@ -496,9 +449,6 @@ export function getLanesToRetrySynchronouslyOnError(root: FiberRoot): Lanes { return NoLanes; } -export function returnNextLanesPriority() { - return return_highestLanePriority; -} export function includesNonIdleWork(lanes: Lanes) { return (lanes & NonIdleLanes) !== NoLanes; } @@ -585,13 +535,6 @@ export function higherPriorityLane(a: Lane, b: Lane) { return a !== NoLane && a < b ? a : b; } -export function higherLanePriority( - a: LanePriority, - b: LanePriority, -): LanePriority { - return a !== NoLanePriority && a > b ? a : b; -} - export function createLaneMap(initial: T): LaneMap { // Intentionally pushing one by one. // https://v8.dev/blog/elements-kinds#avoid-creating-holes diff --git a/packages/react-reconciler/src/ReactFiberLane.old.js b/packages/react-reconciler/src/ReactFiberLane.old.js index 24e213b85289e..782f92a14c23a 100644 --- a/packages/react-reconciler/src/ReactFiberLane.old.js +++ b/packages/react-reconciler/src/ReactFiberLane.old.js @@ -37,28 +37,6 @@ export type LaneMap = Array; import {enableCache, enableSchedulingProfiler} from 'shared/ReactFeatureFlags'; -export const SyncLanePriority: LanePriority = 12; - -const InputContinuousHydrationLanePriority: LanePriority = 11; -export const InputContinuousLanePriority: LanePriority = 10; - -const DefaultHydrationLanePriority: LanePriority = 9; -export const DefaultLanePriority: LanePriority = 8; - -const TransitionHydrationPriority: LanePriority = 7; -export const TransitionPriority: LanePriority = 6; - -const RetryLanePriority: LanePriority = 5; - -const SelectiveHydrationLanePriority: LanePriority = 4; - -const IdleHydrationLanePriority: LanePriority = 3; -export const IdleLanePriority: LanePriority = 2; - -const OffscreenLanePriority: LanePriority = 1; - -export const NoLanePriority: LanePriority = 0; - // Lane values below should be kept in sync with getLabelsForLanes(), used by react-devtools-scheduling-profiler. // If those values are changed that package should be rebuilt and redeployed. @@ -162,29 +140,19 @@ export const NoTimestamp = -1; let nextTransitionLane: Lane = TransitionLane1; let nextRetryLane: Lane = RetryLane1; -// "Registers" used to "return" multiple values -// Used by getHighestPriorityLanes and getNextLanes: -let return_highestLanePriority: LanePriority = DefaultLanePriority; - function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { switch (getHighestPriorityLane(lanes)) { case SyncLane: - return_highestLanePriority = SyncLanePriority; return SyncLane; case InputContinuousHydrationLane: - return_highestLanePriority = InputContinuousHydrationLanePriority; return InputContinuousHydrationLane; case InputContinuousLane: - return_highestLanePriority = InputContinuousLanePriority; return InputContinuousLane; case DefaultHydrationLane: - return_highestLanePriority = DefaultHydrationLanePriority; return DefaultHydrationLane; case DefaultLane: - return_highestLanePriority = DefaultLanePriority; return DefaultLane; case TransitionHydrationLane: - return_highestLanePriority = TransitionHydrationPriority; return TransitionHydrationLane; case TransitionLane1: case TransitionLane2: @@ -202,26 +170,20 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { case TransitionLane14: case TransitionLane15: case TransitionLane16: - return_highestLanePriority = TransitionPriority; return lanes & TransitionLanes; case RetryLane1: case RetryLane2: case RetryLane3: case RetryLane4: case RetryLane5: - return_highestLanePriority = RetryLanePriority; return lanes & RetryLanes; case SelectiveHydrationLane: - return_highestLanePriority = SelectiveHydrationLanePriority; return SelectiveHydrationLane; case IdleHydrationLane: - return_highestLanePriority = IdleHydrationLanePriority; return IdleHydrationLane; case IdleLane: - return_highestLanePriority = IdleLanePriority; return IdleLane; case OffscreenLane: - return_highestLanePriority = OffscreenLanePriority; return OffscreenLane; default: if (__DEV__) { @@ -230,7 +192,6 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { ); } // This shouldn't be reachable, but as a fallback, return the entire bitmask. - return_highestLanePriority = DefaultLanePriority; return lanes; } } @@ -239,12 +200,10 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { // Early bailout if there's no pending work left. const pendingLanes = root.pendingLanes; if (pendingLanes === NoLanes) { - return_highestLanePriority = NoLanePriority; return NoLanes; } let nextLanes = NoLanes; - let nextLanePriority = NoLanePriority; const suspendedLanes = root.suspendedLanes; const pingedLanes = root.pingedLanes; @@ -256,12 +215,10 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { const nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes; if (nonIdleUnblockedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes); - nextLanePriority = return_highestLanePriority; } else { const nonIdlePingedLanes = nonIdlePendingLanes & pingedLanes; if (nonIdlePingedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(nonIdlePingedLanes); - nextLanePriority = return_highestLanePriority; } } } else { @@ -269,11 +226,9 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { const unblockedLanes = pendingLanes & ~suspendedLanes; if (unblockedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(unblockedLanes); - nextLanePriority = return_highestLanePriority; } else { if (pingedLanes !== NoLanes) { nextLanes = getHighestPriorityLanes(pingedLanes); - nextLanePriority = return_highestLanePriority; } } } @@ -307,8 +262,6 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes { ) { // Keep working on the existing in-progress tree. Do not interrupt. return wipLanes; - } else { - return_highestLanePriority = nextLanePriority; } } @@ -496,9 +449,6 @@ export function getLanesToRetrySynchronouslyOnError(root: FiberRoot): Lanes { return NoLanes; } -export function returnNextLanesPriority() { - return return_highestLanePriority; -} export function includesNonIdleWork(lanes: Lanes) { return (lanes & NonIdleLanes) !== NoLanes; } @@ -585,13 +535,6 @@ export function higherPriorityLane(a: Lane, b: Lane) { return a !== NoLane && a < b ? a : b; } -export function higherLanePriority( - a: LanePriority, - b: LanePriority, -): LanePriority { - return a !== NoLanePriority && a > b ? a : b; -} - export function createLaneMap(initial: T): LaneMap { // Intentionally pushing one by one. // https://v8.dev/blog/elements-kinds#avoid-creating-holes