@samitouri / QOS-React-2 / commits / dcdf8de7e1

Remove discrete lanes and priorities (#21040)

We use SyncLane everywhere we used to use InputDiscreteLane or InputDiscreteHydrationLane. So we can delete them now, along with their associated lane priority levels.

Andrew Clark committed Mar 22, 2021 at 11:51 UTC dcdf8de7e1489fda5cee70acbd1310ee1bb0d312
9 files changed +75 -158
packages/react-devtools-scheduling-profiler/src/import-worker/__tests__/preprocessData-test.internal.js
+12 -12
@@ -404,7 +404,7 @@ describe(preprocessData, () => {
404 {
405 componentStack: '',
406 laneLabels: ['Default'],
407 - lanes: [7],
407 + lanes: [5],
408 timestamp: 0.005,
409 type: 'schedule-render',
410 },
@@ -413,7 +413,7 @@ describe(preprocessData, () => {
413 componentStack: '',
414 isCascading: false,
415 laneLabels: ['Default'],
416 - lanes: [7],
416 + lanes: [5],
417 timestamp: 0.013,
418 type: 'schedule-state-update',
419 },
@@ -425,7 +425,7 @@ describe(preprocessData, () => {
425 depth: 0,
426 duration: 0.004999999999999999,
427 laneLabels: ['Default'],
428 - lanes: [7],
428 + lanes: [5],
429 timestamp: 0.006,
430 type: 'render-idle',
431 },
@@ -434,7 +434,7 @@ describe(preprocessData, () => {
434 depth: 0,
435 duration: 0.001,
436 laneLabels: ['Default'],
437 - lanes: [7],
437 + lanes: [5],
438 timestamp: 0.006,
439 type: 'render',
440 },
@@ -443,7 +443,7 @@ describe(preprocessData, () => {
443 depth: 0,
444 duration: 0.002999999999999999,
445 laneLabels: ['Default'],
446 - lanes: [7],
446 + lanes: [5],
447 timestamp: 0.008,
448 type: 'commit',
449 },
@@ -452,7 +452,7 @@ describe(preprocessData, () => {
452 depth: 1,
453 duration: 0.0010000000000000009,
454 laneLabels: ['Default'],
455 - lanes: [7],
455 + lanes: [5],
456 timestamp: 0.009,
457 type: 'layout-effects',
458 },
@@ -461,7 +461,7 @@ describe(preprocessData, () => {
461 depth: 0,
462 duration: 0.002,
463 laneLabels: ['Default'],
464 - lanes: [7],
464 + lanes: [5],
465 timestamp: 0.012,
466 type: 'passive-effects',
467 },
@@ -470,7 +470,7 @@ describe(preprocessData, () => {
470 depth: 0,
471 duration: 0.005000000000000001,
472 laneLabels: ['Default'],
473 - lanes: [7],
473 + lanes: [5],
474 timestamp: 0.015,
475 type: 'render-idle',
476 },
@@ -479,7 +479,7 @@ describe(preprocessData, () => {
479 depth: 0,
480 duration: 0.0010000000000000009,
481 laneLabels: ['Default'],
482 - lanes: [7],
482 + lanes: [5],
483 timestamp: 0.015,
484 type: 'render',
485 },
@@ -488,7 +488,7 @@ describe(preprocessData, () => {
488 depth: 0,
489 duration: 0.002999999999999999,
490 laneLabels: ['Default'],
491 - lanes: [7],
491 + lanes: [5],
492 timestamp: 0.017,
493 type: 'commit',
494 },
@@ -497,7 +497,7 @@ describe(preprocessData, () => {
497 depth: 1,
498 duration: 0.0010000000000000009,
499 laneLabels: ['Default'],
500 - lanes: [7],
500 + lanes: [5],
501 timestamp: 0.018,
502 type: 'layout-effects',
503 },
@@ -506,7 +506,7 @@ describe(preprocessData, () => {
506 depth: 0,
507 duration: 0.0009999999999999974,
508 laneLabels: ['Default'],
509 - lanes: [7],
509 + lanes: [5],
510 timestamp: 0.021,
511 type: 'passive-effects',
512 },
packages/react-dom/src/events/ReactDOMEventListener.js
+2 -7
@@ -48,14 +48,12 @@ import {
48 } from './ReactDOMUpdateBatching';
49
50 import {
51 - InputDiscreteLanePriority as InputDiscreteLanePriority_old,
51 InputContinuousLanePriority as InputContinuousLanePriority_old,
52 DefaultLanePriority as DefaultLanePriority_old,
53 getCurrentUpdateLanePriority as getCurrentUpdateLanePriority_old,
54 setCurrentUpdateLanePriority as setCurrentUpdateLanePriority_old,
55 } from 'react-reconciler/src/ReactFiberLane.old';
56 import {
58 - InputDiscreteLanePriority as InputDiscreteLanePriority_new,
57 InputContinuousLanePriority as InputContinuousLanePriority_new,
58 DefaultLanePriority as DefaultLanePriority_new,
59 getCurrentUpdateLanePriority as getCurrentUpdateLanePriority_new,
@@ -75,9 +73,6 @@ import {
73 } from 'react-reconciler/src/SchedulerWithReactIntegration.new';
74 import type {LanePriority} from 'react-reconciler/src/ReactFiberLane.new';
75
78 -const InputDiscreteLanePriority = enableNewReconciler
79 - ? InputDiscreteLanePriority_new
80 - : InputDiscreteLanePriority_old;
76 const InputContinuousLanePriority = enableNewReconciler
77 ? InputContinuousLanePriority_new
78 : InputContinuousLanePriority_old;
@@ -147,7 +142,7 @@ export function createEventListenerWrapperWithPriority(
142 const eventPriority = getEventPriority(domEventName);
143 let listenerWrapper;
144 switch (eventPriority) {
150 - case InputDiscreteLanePriority:
145 + case SyncLanePriority:
146 listenerWrapper = dispatchDiscreteEvent;
147 break;
148 case InputContinuousLanePriority:
@@ -412,7 +407,7 @@ export function getEventPriority(domEventName: DOMEventName): * {
407 case 'popstate':
408 case 'select':
409 case 'selectstart':
415 - return InputDiscreteLanePriority;
410 + return SyncLanePriority;
411 case 'drag':
412 case 'dragenter':
413 case 'dragexit':
packages/react-reconciler/src/ReactFiberLane.new.js
+28 -51
@@ -46,11 +46,8 @@ import {
46 NoPriority as NoSchedulerPriority,
47 } from './SchedulerWithReactIntegration.new';
48
49 -export const SyncLanePriority: LanePriority = 15;
50 -export const SyncBatchedLanePriority: LanePriority = 14;
51 -
52 -const InputDiscreteHydrationLanePriority: LanePriority = 13;
53 -export const InputDiscreteLanePriority: LanePriority = 12;
49 +export const SyncLanePriority: LanePriority = 13;
50 +export const SyncBatchedLanePriority: LanePriority = 12;
51
52 const InputContinuousHydrationLanePriority: LanePriority = 11;
53 export const InputContinuousLanePriority: LanePriority = 10;
@@ -83,31 +80,30 @@ export const NoLane: Lane = /* */ 0b0000000000000000000
80 export const SyncLane: Lane = /* */ 0b0000000000000000000000000000001;
81 export const SyncBatchedLane: Lane = /* */ 0b0000000000000000000000000000010;
82
86 -export const InputDiscreteHydrationLane: Lane = /* */ 0b0000000000000000000000000000100;
87 -export const InputDiscreteLane: Lanes = /* */ 0b0000000000000000000000000001000;
88 -
89 -const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000010000;
90 -export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000100000;
91 -
92 -export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000001000000;
93 -export const DefaultLane: Lanes = /* */ 0b0000000000000000000000010000000;
94 -
95 -const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000100000000;
96 -const TransitionLanes: Lanes = /* */ 0b0000000011111111111111000000000;
97 -const TransitionLane1: Lane = /* */ 0b0000000000000000000001000000000;
98 -const TransitionLane2: Lane = /* */ 0b0000000000000000000010000000000;
99 -const TransitionLane3: Lane = /* */ 0b0000000000000000000100000000000;
100 -const TransitionLane4: Lane = /* */ 0b0000000000000000001000000000000;
101 -const TransitionLane5: Lane = /* */ 0b0000000000000000010000000000000;
102 -const TransitionLane6: Lane = /* */ 0b0000000000000000100000000000000;
103 -const TransitionLane7: Lane = /* */ 0b0000000000000001000000000000000;
104 -const TransitionLane8: Lane = /* */ 0b0000000000000010000000000000000;
105 -const TransitionLane9: Lane = /* */ 0b0000000000000100000000000000000;
106 -const TransitionLane10: Lane = /* */ 0b0000000000001000000000000000000;
107 -const TransitionLane11: Lane = /* */ 0b0000000000010000000000000000000;
108 -const TransitionLane12: Lane = /* */ 0b0000000000100000000000000000000;
109 -const TransitionLane13: Lane = /* */ 0b0000000001000000000000000000000;
110 -const TransitionLane14: Lane = /* */ 0b0000000010000000000000000000000;
83 +const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000000100;
84 +export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000001000;
85 +
86 +export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000000010000;
87 +export const DefaultLane: Lanes = /* */ 0b0000000000000000000000000100000;
88 +
89 +const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000001000000;
90 +const TransitionLanes: Lanes = /* */ 0b0000000011111111111111110000000;
91 +const TransitionLane1: Lane = /* */ 0b0000000000000000000000010000000;
92 +const TransitionLane2: Lane = /* */ 0b0000000000000000000000100000000;
93 +const TransitionLane3: Lane = /* */ 0b0000000000000000000001000000000;
94 +const TransitionLane4: Lane = /* */ 0b0000000000000000000010000000000;
95 +const TransitionLane5: Lane = /* */ 0b0000000000000000000100000000000;
96 +const TransitionLane6: Lane = /* */ 0b0000000000000000001000000000000;
97 +const TransitionLane7: Lane = /* */ 0b0000000000000000010000000000000;
98 +const TransitionLane8: Lane = /* */ 0b0000000000000000100000000000000;
99 +const TransitionLane9: Lane = /* */ 0b0000000000000001000000000000000;
100 +const TransitionLane10: Lane = /* */ 0b0000000000000010000000000000000;
101 +const TransitionLane11: Lane = /* */ 0b0000000000000100000000000000000;
102 +const TransitionLane12: Lane = /* */ 0b0000000000001000000000000000000;
103 +const TransitionLane13: Lane = /* */ 0b0000000000010000000000000000000;
104 +const TransitionLane14: Lane = /* */ 0b0000000000100000000000000000000;
105 +const TransitionLane15: Lane = /* */ 0b0000000001000000000000000000000;
106 +const TransitionLane16: Lane = /* */ 0b0000000010000000000000000000000;
107
108 const RetryLanes: Lanes = /* */ 0b0000111100000000000000000000000;
109 const RetryLane1: Lane = /* */ 0b0000000100000000000000000000000;
@@ -137,12 +133,6 @@ export function getLabelsForLanes(lanes: Lanes): Array<string> | void {
133 if (lanes & SyncBatchedLane) {
134 labels.push('SyncBatched');
135 }
140 - if (lanes & InputDiscreteHydrationLane) {
141 - labels.push('InputDiscreteHydration');
142 - }
143 - if (lanes & InputDiscreteLane) {
144 - labels.push('InputDiscrete');
145 - }
136 if (lanes & InputContinuousHydrationLane) {
137 labels.push('InputContinuousHydration');
138 }
@@ -207,12 +197,6 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes {
197 case SyncBatchedLane:
198 return_highestLanePriority = SyncBatchedLanePriority;
199 return SyncBatchedLane;
210 - case InputDiscreteHydrationLane:
211 - return_highestLanePriority = InputDiscreteHydrationLanePriority;
212 - return InputDiscreteHydrationLane;
213 - case InputDiscreteLane:
214 - return_highestLanePriority = InputDiscreteLanePriority;
215 - return InputDiscreteLane;
200 case InputContinuousHydrationLane:
201 return_highestLanePriority = InputContinuousHydrationLanePriority;
202 return InputContinuousHydrationLane;
@@ -242,6 +226,8 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes {
226 case TransitionLane12:
227 case TransitionLane13:
228 case TransitionLane14:
229 + case TransitionLane15:
230 + case TransitionLane16:
231 return_highestLanePriority = TransitionPriority;
232 return lanes & TransitionLanes;
233 case RetryLane1:
@@ -281,8 +267,6 @@ export function lanePriorityToSchedulerPriority(
267 case SyncLanePriority:
268 case SyncBatchedLanePriority:
269 return ImmediateSchedulerPriority;
284 - case InputDiscreteHydrationLanePriority:
285 - case InputDiscreteLanePriority:
270 case InputContinuousHydrationLanePriority:
271 case InputContinuousLanePriority:
272 return UserBlockingSchedulerPriority;
@@ -565,8 +549,6 @@ export function findUpdateLane(lanePriority: LanePriority): Lane {
549 return SyncLane;
550 case SyncBatchedLanePriority:
551 return SyncBatchedLane;
568 - case InputDiscreteLanePriority:
569 - return SyncLane;
552 case InputContinuousLanePriority:
553 return InputContinuousLane;
554 case DefaultLanePriority:
@@ -826,11 +808,6 @@ export function getBumpedLaneForHydration(
808 case SyncBatchedLanePriority:
809 lane = NoLane;
810 break;
829 - case InputDiscreteHydrationLanePriority:
830 - case InputDiscreteLanePriority:
831 - lane = InputDiscreteHydrationLane;
832 - break;
833 - case InputContinuousHydrationLanePriority:
811 case InputContinuousLanePriority:
812 lane = InputContinuousHydrationLane;
813 break;
packages/react-reconciler/src/ReactFiberLane.old.js
+28 -51
@@ -46,11 +46,8 @@ import {
46 NoPriority as NoSchedulerPriority,
47 } from './SchedulerWithReactIntegration.old';
48
49 -export const SyncLanePriority: LanePriority = 15;
50 -export const SyncBatchedLanePriority: LanePriority = 14;
51 -
52 -const InputDiscreteHydrationLanePriority: LanePriority = 13;
53 -export const InputDiscreteLanePriority: LanePriority = 12;
49 +export const SyncLanePriority: LanePriority = 13;
50 +export const SyncBatchedLanePriority: LanePriority = 12;
51
52 const InputContinuousHydrationLanePriority: LanePriority = 11;
53 export const InputContinuousLanePriority: LanePriority = 10;
@@ -83,31 +80,30 @@ export const NoLane: Lane = /* */ 0b0000000000000000000
80 export const SyncLane: Lane = /* */ 0b0000000000000000000000000000001;
81 export const SyncBatchedLane: Lane = /* */ 0b0000000000000000000000000000010;
82
86 -export const InputDiscreteHydrationLane: Lane = /* */ 0b0000000000000000000000000000100;
87 -export const InputDiscreteLane: Lanes = /* */ 0b0000000000000000000000000001000;
88 -
89 -const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000010000;
90 -export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000100000;
91 -
92 -export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000001000000;
93 -export const DefaultLane: Lanes = /* */ 0b0000000000000000000000010000000;
94 -
95 -const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000100000000;
96 -const TransitionLanes: Lanes = /* */ 0b0000000011111111111111000000000;
97 -const TransitionLane1: Lane = /* */ 0b0000000000000000000001000000000;
98 -const TransitionLane2: Lane = /* */ 0b0000000000000000000010000000000;
99 -const TransitionLane3: Lane = /* */ 0b0000000000000000000100000000000;
100 -const TransitionLane4: Lane = /* */ 0b0000000000000000001000000000000;
101 -const TransitionLane5: Lane = /* */ 0b0000000000000000010000000000000;
102 -const TransitionLane6: Lane = /* */ 0b0000000000000000100000000000000;
103 -const TransitionLane7: Lane = /* */ 0b0000000000000001000000000000000;
104 -const TransitionLane8: Lane = /* */ 0b0000000000000010000000000000000;
105 -const TransitionLane9: Lane = /* */ 0b0000000000000100000000000000000;
106 -const TransitionLane10: Lane = /* */ 0b0000000000001000000000000000000;
107 -const TransitionLane11: Lane = /* */ 0b0000000000010000000000000000000;
108 -const TransitionLane12: Lane = /* */ 0b0000000000100000000000000000000;
109 -const TransitionLane13: Lane = /* */ 0b0000000001000000000000000000000;
110 -const TransitionLane14: Lane = /* */ 0b0000000010000000000000000000000;
83 +const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000000100;
84 +export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000001000;
85 +
86 +export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000000010000;
87 +export const DefaultLane: Lanes = /* */ 0b0000000000000000000000000100000;
88 +
89 +const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000001000000;
90 +const TransitionLanes: Lanes = /* */ 0b0000000011111111111111110000000;
91 +const TransitionLane1: Lane = /* */ 0b0000000000000000000000010000000;
92 +const TransitionLane2: Lane = /* */ 0b0000000000000000000000100000000;
93 +const TransitionLane3: Lane = /* */ 0b0000000000000000000001000000000;
94 +const TransitionLane4: Lane = /* */ 0b0000000000000000000010000000000;
95 +const TransitionLane5: Lane = /* */ 0b0000000000000000000100000000000;
96 +const TransitionLane6: Lane = /* */ 0b0000000000000000001000000000000;
97 +const TransitionLane7: Lane = /* */ 0b0000000000000000010000000000000;
98 +const TransitionLane8: Lane = /* */ 0b0000000000000000100000000000000;
99 +const TransitionLane9: Lane = /* */ 0b0000000000000001000000000000000;
100 +const TransitionLane10: Lane = /* */ 0b0000000000000010000000000000000;
101 +const TransitionLane11: Lane = /* */ 0b0000000000000100000000000000000;
102 +const TransitionLane12: Lane = /* */ 0b0000000000001000000000000000000;
103 +const TransitionLane13: Lane = /* */ 0b0000000000010000000000000000000;
104 +const TransitionLane14: Lane = /* */ 0b0000000000100000000000000000000;
105 +const TransitionLane15: Lane = /* */ 0b0000000001000000000000000000000;
106 +const TransitionLane16: Lane = /* */ 0b0000000010000000000000000000000;
107
108 const RetryLanes: Lanes = /* */ 0b0000111100000000000000000000000;
109 const RetryLane1: Lane = /* */ 0b0000000100000000000000000000000;
@@ -137,12 +133,6 @@ export function getLabelsForLanes(lanes: Lanes): Array<string> | void {
133 if (lanes & SyncBatchedLane) {
134 labels.push('SyncBatched');
135 }
140 - if (lanes & InputDiscreteHydrationLane) {
141 - labels.push('InputDiscreteHydration');
142 - }
143 - if (lanes & InputDiscreteLane) {
144 - labels.push('InputDiscrete');
145 - }
136 if (lanes & InputContinuousHydrationLane) {
137 labels.push('InputContinuousHydration');
138 }
@@ -207,12 +197,6 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes {
197 case SyncBatchedLane:
198 return_highestLanePriority = SyncBatchedLanePriority;
199 return SyncBatchedLane;
210 - case InputDiscreteHydrationLane:
211 - return_highestLanePriority = InputDiscreteHydrationLanePriority;
212 - return InputDiscreteHydrationLane;
213 - case InputDiscreteLane:
214 - return_highestLanePriority = InputDiscreteLanePriority;
215 - return InputDiscreteLane;
200 case InputContinuousHydrationLane:
201 return_highestLanePriority = InputContinuousHydrationLanePriority;
202 return InputContinuousHydrationLane;
@@ -242,6 +226,8 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes {
226 case TransitionLane12:
227 case TransitionLane13:
228 case TransitionLane14:
229 + case TransitionLane15:
230 + case TransitionLane16:
231 return_highestLanePriority = TransitionPriority;
232 return lanes & TransitionLanes;
233 case RetryLane1:
@@ -281,8 +267,6 @@ export function lanePriorityToSchedulerPriority(
267 case SyncLanePriority:
268 case SyncBatchedLanePriority:
269 return ImmediateSchedulerPriority;
284 - case InputDiscreteHydrationLanePriority:
285 - case InputDiscreteLanePriority:
270 case InputContinuousHydrationLanePriority:
271 case InputContinuousLanePriority:
272 return UserBlockingSchedulerPriority;
@@ -565,8 +549,6 @@ export function findUpdateLane(lanePriority: LanePriority): Lane {
549 return SyncLane;
550 case SyncBatchedLanePriority:
551 return SyncBatchedLane;
568 - case InputDiscreteLanePriority:
569 - return SyncLane;
552 case InputContinuousLanePriority:
553 return InputContinuousLane;
554 case DefaultLanePriority:
@@ -826,11 +808,6 @@ export function getBumpedLaneForHydration(
808 case SyncBatchedLanePriority:
809 lane = NoLane;
810 break;
829 - case InputDiscreteHydrationLanePriority:
830 - case InputDiscreteLanePriority:
831 - lane = InputDiscreteHydrationLane;
832 - break;
833 - case InputContinuousHydrationLanePriority:
811 case InputContinuousLanePriority:
812 lane = InputContinuousHydrationLane;
813 break;
packages/react-reconciler/src/ReactFiberReconciler.new.js
+1 -1
@@ -97,7 +97,7 @@ import {markRenderScheduled} from './SchedulingProfiler';
97 // entry point, but we can't do this because of a circular dependency.
98 // They are used by third-party renderers so they need to stay up to date.
99 export {
100 - InputDiscreteLanePriority as DiscreteEventPriority,
100 + SyncLanePriority as DiscreteEventPriority,
101 InputContinuousLanePriority as ContinuousEventPriority,
102 DefaultLanePriority as DefaultEventPriority,
103 IdleLanePriority as IdleEventPriority,
packages/react-reconciler/src/ReactFiberReconciler.old.js
+1 -1
@@ -97,7 +97,7 @@ import {markRenderScheduled} from './SchedulingProfiler';
97 // entry point, but we can't do this because of a circular dependency.
98 // They are used by third-party renderers so they need to stay up to date.
99 export {
100 - InputDiscreteLanePriority as DiscreteEventPriority,
100 + SyncLanePriority as DiscreteEventPriority,
101 InputContinuousLanePriority as ContinuousEventPriority,
102 DefaultLanePriority as DefaultEventPriority,
103 IdleLanePriority as IdleEventPriority,
packages/react-reconciler/src/ReactFiberWorkLoop.new.js
+1 -17
@@ -133,7 +133,6 @@ import {
133 NoLanePriority,
134 SyncLanePriority,
135 SyncBatchedLanePriority,
136 - InputDiscreteLanePriority,
136 DefaultLanePriority,
137 NoLanes,
138 NoLane,
@@ -674,7 +673,6 @@ function ensureRootIsScheduled(root: FiberRoot, currentTime: number) {
673 // TODO: Temporary until we confirm this warning is not fired.
674 if (
675 existingCallbackNode == null &&
677 - existingCallbackPriority !== InputDiscreteLanePriority &&
676 existingCallbackPriority !== SyncLanePriority
677 ) {
678 console.error(
@@ -980,20 +978,6 @@ function performSyncWorkOnRoot(root) {
978 exitStatus = renderRootSync(root, lanes);
979 } else {
980 lanes = getNextLanes(root, NoLanes);
983 - // Because we don't cancel synchronous tasks, sometimes more than one
984 - // synchronous task ends up being scheduled. This is an artifact of the fact
985 - // that we have two different lanes that schedule sync tasks: discrete and
986 - // sync. If we had only one, then (I believe) this extra check wouldn't be
987 - // necessary, because there's nothing higher priority than sync that would
988 - // cause us to cancel it.
989 - // TODO: Merge InputDiscreteLanePriority with SyncLanePriority, then delete
990 - // this bailout.
991 - if (supportsMicrotasks) {
992 - const nextLanesPriority = returnNextLanesPriority();
993 - if (nextLanesPriority < InputDiscreteLanePriority) {
994 - return null;
995 - }
996 - }
981 exitStatus = renderRootSync(root, lanes);
982 }
983
@@ -1132,7 +1116,7 @@ export function discreteUpdates<A, B, C, D, R>(
1116 ): R {
1117 const previousLanePriority = getCurrentUpdateLanePriority();
1118 try {
1135 - setCurrentUpdateLanePriority(InputDiscreteLanePriority);
1119 + setCurrentUpdateLanePriority(SyncLanePriority);
1120 return fn(a, b, c, d);
1121 } finally {
1122 setCurrentUpdateLanePriority(previousLanePriority);
packages/react-reconciler/src/ReactFiberWorkLoop.old.js
+1 -17
@@ -133,7 +133,6 @@ import {
133 NoLanePriority,
134 SyncLanePriority,
135 SyncBatchedLanePriority,
136 - InputDiscreteLanePriority,
136 DefaultLanePriority,
137 NoLanes,
138 NoLane,
@@ -674,7 +673,6 @@ function ensureRootIsScheduled(root: FiberRoot, currentTime: number) {
673 // TODO: Temporary until we confirm this warning is not fired.
674 if (
675 existingCallbackNode == null &&
677 - existingCallbackPriority !== InputDiscreteLanePriority &&
676 existingCallbackPriority !== SyncLanePriority
677 ) {
678 console.error(
@@ -980,20 +978,6 @@ function performSyncWorkOnRoot(root) {
978 exitStatus = renderRootSync(root, lanes);
979 } else {
980 lanes = getNextLanes(root, NoLanes);
983 - // Because we don't cancel synchronous tasks, sometimes more than one
984 - // synchronous task ends up being scheduled. This is an artifact of the fact
985 - // that we have two different lanes that schedule sync tasks: discrete and
986 - // sync. If we had only one, then (I believe) this extra check wouldn't be
987 - // necessary, because there's nothing higher priority than sync that would
988 - // cause us to cancel it.
989 - // TODO: Merge InputDiscreteLanePriority with SyncLanePriority, then delete
990 - // this bailout.
991 - if (supportsMicrotasks) {
992 - const nextLanesPriority = returnNextLanesPriority();
993 - if (nextLanesPriority < InputDiscreteLanePriority) {
994 - return null;
995 - }
996 - }
981 exitStatus = renderRootSync(root, lanes);
982 }
983
@@ -1132,7 +1116,7 @@ export function discreteUpdates<A, B, C, D, R>(
1116 ): R {
1117 const previousLanePriority = getCurrentUpdateLanePriority();
1118 try {
1135 - setCurrentUpdateLanePriority(InputDiscreteLanePriority);
1119 + setCurrentUpdateLanePriority(SyncLanePriority);
1120 return fn(a, b, c, d);
1121 } finally {
1122 setCurrentUpdateLanePriority(previousLanePriority);
packages/react-reconciler/src/__tests__/DebugTracing-test.internal.js
+1 -1
@@ -16,7 +16,7 @@ describe('DebugTracing', () => {
16
17 let logs;
18
19 - const DEFAULT_LANE_STRING = '0b0000000000000000000000010000000';
19 + const DEFAULT_LANE_STRING = '0b0000000000000000000000000100000';
20 const RETRY_LANE_STRING = '0b0000000100000000000000000000000';
21
22 beforeEach(() => {