Skip to content

Commit 813348d

Browse files
author
Brian Vaughn
committed
Renamed schedulers to updaters
1 parent 6d84e3c commit 813348d

12 files changed

+60
-68
lines changed

packages/react-reconciler/src/ReactFiberCommitWork.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import {
2828
enableSchedulerTracing,
2929
enableProfilerTimer,
3030
enableSuspenseServerRenderer,
31-
enableUpdateSchedulerTracking,
31+
enableUpdaterTracking,
3232
enableEventAPI,
3333
} from 'shared/ReactFeatureFlags';
3434
import {
@@ -105,7 +105,7 @@ import {
105105
captureCommitPhaseError,
106106
requestCurrentTime,
107107
resolveRetryThenable,
108-
restorePendingSchedulers,
108+
restorePendingUpdaters,
109109
} from './ReactFiberScheduler';
110110
import {
111111
NoEffect as NoHookEffect,
@@ -1346,9 +1346,9 @@ function commitSuspenseComponent(
13461346
if (enableSchedulerTracing) {
13471347
retry = Schedule_tracing_wrap(retry);
13481348
}
1349-
if (enableUpdateSchedulerTracking) {
1350-
// If we have pending work still, restore the original schedulers
1351-
restorePendingSchedulers(finishedRoot, committedExpirationTime);
1349+
if (enableUpdaterTracking) {
1350+
// If we have pending work still, restore the original updaters
1351+
restorePendingUpdaters(finishedRoot, committedExpirationTime);
13521352
}
13531353
retryCache.add(thenable);
13541354
thenable.then(retry, retry);

packages/react-reconciler/src/ReactFiberRoot.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {createHostRootFiber} from './ReactFiber';
1919
import {NoWork} from './ReactFiberExpirationTime';
2020
import {
2121
enableSchedulerTracing,
22-
enableUpdateSchedulerTracking,
22+
enableUpdaterTracking,
2323
} from 'shared/ReactFeatureFlags';
2424
import {unstable_getThreadID} from 'scheduler/tracing';
2525

@@ -33,8 +33,8 @@ export type Batch = {
3333

3434
export type PendingInteractionMap = Map<ExpirationTime, Set<Interaction>>;
3535

36-
// Map of expiration time to all pending "schedulers" which in turn is a map of Fibers to reference counts.
37-
export type PendingSchedulersMap = Map<ExpirationTime, Set<Fiber>>;
36+
// Map of expiration time to all pending "updaters" which in turn is a map of Fibers to reference counts.
37+
export type PendingUpdatersMap = Map<ExpirationTime, Set<Fiber>>;
3838

3939
type BaseFiberRootProperties = {|
4040
// The type of root (legacy, batched, concurrent, etc.)
@@ -91,9 +91,9 @@ type ProfilingOnlyFiberRootProperties = {|
9191

9292
// The following attributes are only used by DevTools and are only present in DEV builds.
9393
// They enable DevTools Profiler UI to show which Fiber(s) scheduled a given commit.
94-
type SchedulerTrackingOnlyFiberRootProperties = {|
95-
memoizedSchedulers: Set<Fiber>,
96-
pendingSchedulersMap: PendingSchedulersMap,
94+
type UpdaterTrackingOnlyFiberRootProperties = {|
95+
memoizedUpdaters: Set<Fiber>,
96+
pendingUpdatersMap: PendingUpdatersMap,
9797
|};
9898

9999
// Exported FiberRoot type includes all properties,
@@ -104,7 +104,7 @@ type SchedulerTrackingOnlyFiberRootProperties = {|
104104
export type FiberRoot = {
105105
...BaseFiberRootProperties,
106106
...ProfilingOnlyFiberRootProperties,
107-
...SchedulerTrackingOnlyFiberRootProperties,
107+
...UpdaterTrackingOnlyFiberRootProperties,
108108
};
109109

110110
function FiberRootNode(containerInfo, tag, hydrate) {
@@ -132,9 +132,9 @@ function FiberRootNode(containerInfo, tag, hydrate) {
132132
this.pendingInteractionMap = new Map();
133133
}
134134

135-
if (enableUpdateSchedulerTracking) {
136-
this.memoizedSchedulers = new Set();
137-
this.pendingSchedulersMap = new Map();
135+
if (enableUpdaterTracking) {
136+
this.memoizedUpdaters = new Set();
137+
this.pendingUpdatersMap = new Map();
138138
}
139139
}
140140

packages/react-reconciler/src/ReactFiberScheduler.js

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import type {Interaction} from 'scheduler/src/Tracing';
1919
import {
2020
warnAboutDeprecatedLifecycles,
2121
enableUserTimingAPI,
22-
enableUpdateSchedulerTracking,
22+
enableUpdaterTracking,
2323
enableSuspenseServerRenderer,
2424
replayFailedUnitOfWorkWithInvokeGuardedCallback,
2525
enableProfilerTimer,
@@ -337,14 +337,14 @@ export function scheduleUpdateOnFiber(
337337
return;
338338
}
339339

340-
if (enableUpdateSchedulerTracking) {
341-
const pendingSchedulersMap = root.pendingSchedulersMap;
342-
let schedulers = pendingSchedulersMap.get(expirationTime);
343-
if (schedulers == null) {
344-
schedulers = new Set();
345-
pendingSchedulersMap.set(expirationTime, schedulers);
340+
if (enableUpdaterTracking) {
341+
const pendingUpdatersMap = root.pendingUpdatersMap;
342+
let updaters = pendingUpdatersMap.get(expirationTime);
343+
if (updaters == null) {
344+
updaters = new Set();
345+
pendingUpdatersMap.set(expirationTime, updaters);
346346
}
347-
schedulers.add(fiber);
347+
updaters.add(fiber);
348348
}
349349

350350
root.pingTime = NoWork;
@@ -1296,7 +1296,7 @@ function commitRootImpl(root) {
12961296

12971297
if (enableSchedulerTracing) {
12981298
if (firstPendingTimeBeforeCommit !== NoWork) {
1299-
restorePendingSchedulers(root, root.lastPendingTime);
1299+
restorePendingUpdaters(root, root.lastPendingTime);
13001300
}
13011301
}
13021302
}
@@ -2182,21 +2182,21 @@ function warnIfNotCurrentlyActingUpdatesInDEV(fiber: Fiber): void {
21822182
}
21832183
}
21842184

2185-
export function restorePendingSchedulers(
2185+
export function restorePendingUpdaters(
21862186
root: FiberRoot,
21872187
expirationTime: ExpirationTime,
21882188
): void {
2189-
if (!enableUpdateSchedulerTracking) {
2189+
if (!enableUpdaterTracking) {
21902190
return;
21912191
}
2192-
const pendingSchedulersMap = root.pendingSchedulersMap;
2193-
let schedulers = pendingSchedulersMap.get(expirationTime);
2194-
if (schedulers == null) {
2195-
schedulers = new Set();
2196-
pendingSchedulersMap.set(expirationTime, schedulers);
2192+
const pendingUpdatersMap = root.pendingUpdatersMap;
2193+
let updaters = pendingUpdatersMap.get(expirationTime);
2194+
if (updaters == null) {
2195+
updaters = new Set();
2196+
pendingUpdatersMap.set(expirationTime, updaters);
21972197
}
2198-
root.memoizedSchedulers.forEach(schedulingFiber => {
2199-
((schedulers: any): Set<Fiber>).add(schedulingFiber);
2198+
root.memoizedUpdaters.forEach(schedulingFiber => {
2199+
((updaters: any): Set<Fiber>).add(schedulingFiber);
22002200
});
22012201
}
22022202

@@ -2317,21 +2317,21 @@ function schedulePendingInteraction(root, expirationTime) {
23172317
function startWorkOnPendingInteraction(root, expirationTime) {
23182318
// This is called when new work is started on a root.
23192319

2320-
if (enableUpdateSchedulerTracking) {
2321-
const memoizedSchedulers: Set<Fiber> = new Set();
2322-
const pendingSchedulersMap = root.pendingSchedulersMap;
2323-
pendingSchedulersMap.forEach((schedulers, scheduledExpirationTime) => {
2320+
if (enableUpdaterTracking) {
2321+
const memoizedUpdaters: Set<Fiber> = new Set();
2322+
const pendingUpdatersMap = root.pendingUpdatersMap;
2323+
pendingUpdatersMap.forEach((updaters, scheduledExpirationTime) => {
23242324
if (scheduledExpirationTime >= expirationTime) {
2325-
pendingSchedulersMap.delete(scheduledExpirationTime);
2326-
schedulers.forEach(fiber => memoizedSchedulers.add(fiber));
2325+
pendingUpdatersMap.delete(scheduledExpirationTime);
2326+
updaters.forEach(fiber => memoizedUpdaters.add(fiber));
23272327
}
23282328
});
23292329

23302330
// Store the current set of interactions on the FiberRoot for a few reasons:
23312331
// We can re-use it in hot functions like renderRoot() without having to
23322332
// recalculate it. This also provides DevTools with a way to access it when
23332333
// the onCommitRoot() hook is called.
2334-
root.memoizedSchedulers = memoizedSchedulers;
2334+
root.memoizedUpdaters = memoizedUpdaters;
23352335
}
23362336

23372337
if (enableSchedulerTracing) {

packages/react-reconciler/src/ReactFiberUnwindWork.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import {
4040
import {
4141
enableSchedulerTracing,
4242
enableSuspenseServerRenderer,
43-
enableUpdateSchedulerTracking,
43+
enableUpdaterTracking,
4444
enableEventAPI,
4545
} from 'shared/ReactFeatureFlags';
4646
import {NoMode, BatchedMode} from './ReactTypeOfMode';
@@ -77,7 +77,7 @@ import {
7777
pingSuspendedRoot,
7878
resolveRetryThenable,
7979
checkForWrongSuspensePriorityInDEV,
80-
restorePendingSchedulers,
80+
restorePendingUpdaters,
8181
} from './ReactFiberScheduler';
8282

8383
import invariant from 'shared/invariant';
@@ -189,9 +189,9 @@ function attachPingListener(
189189
if (enableSchedulerTracing) {
190190
ping = Schedule_tracing_wrap(ping);
191191
}
192-
if (enableUpdateSchedulerTracking) {
193-
// If we have pending work still, restore the original schedulers
194-
restorePendingSchedulers(root, renderExpirationTime);
192+
if (enableUpdaterTracking) {
193+
// If we have pending work still, restore the original updaters
194+
restorePendingUpdaters(root, renderExpirationTime);
195195
}
196196
thenable.then(ping, ping);
197197
}
@@ -209,9 +209,9 @@ function throwException(
209209
// Its effect list is no longer valid.
210210
sourceFiber.firstEffect = sourceFiber.lastEffect = null;
211211

212-
if (enableUpdateSchedulerTracking) {
213-
// If we have pending work still, restore the original schedulers
214-
restorePendingSchedulers(root, renderExpirationTime);
212+
if (enableUpdaterTracking) {
213+
// If we have pending work still, restore the original updaters
214+
restorePendingUpdaters(root, renderExpirationTime);
215215
}
216216

217217
if (

packages/react-reconciler/src/__tests__/ReactSchedulers-test.internal.js renamed to packages/react-reconciler/src/__tests__/ReactUpdaters-test.internal.js

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ let mockDevToolsHook;
1818
let allSchedulerTags;
1919
let allSchedulerTypes;
2020

21-
describe('schedulers', () => {
21+
describe('updaters', () => {
2222
beforeEach(() => {
2323
jest.resetModules();
2424

@@ -31,7 +31,7 @@ describe('schedulers', () => {
3131
Scheduler.yieldValue('onCommitRoot');
3232
const schedulerTags = [];
3333
const schedulerTypes = [];
34-
fiberRoot.memoizedSchedulers.forEach(fiber => {
34+
fiberRoot.memoizedUpdaters.forEach(fiber => {
3535
schedulerTags.push(fiber.tag);
3636
schedulerTypes.push(fiber.elementType);
3737
});
@@ -48,7 +48,7 @@ describe('schedulers', () => {
4848
);
4949

5050
ReactFeatureFlags = require('shared/ReactFeatureFlags');
51-
ReactFeatureFlags.enableUpdateSchedulerTracking = true;
51+
ReactFeatureFlags.enableUpdaterTracking = true;
5252
ReactFeatureFlags.debugRenderPhaseSideEffectsForStrictMode = false;
5353

5454
React = require('react');
@@ -221,9 +221,6 @@ describe('schedulers', () => {
221221
expect(allSchedulerTypes[4]).toHaveLength(1);
222222
expect(allSchedulerTypes[4]).toContain(CascadingChild);
223223

224-
// Question: Should SchedulingComponent also be reported for the cascading updates?
225-
// I have mixed feelings about this; it's easier not to include it so...
226-
227224
// Verify no outstanding flushes
228225
Scheduler.flushAll();
229226
});
@@ -397,9 +394,7 @@ describe('schedulers', () => {
397394
mockDevToolsHook.onCommitRoot.mockImplementation(fiberRoot => {
398395
Scheduler.yieldValue('onCommitRoot');
399396
schedulerTypes.push(
400-
Array.from(fiberRoot.memoizedSchedulers).map(
401-
fiber => fiber.elementType,
402-
),
397+
Array.from(fiberRoot.memoizedUpdaters).map(fiber => fiber.elementType),
403398
);
404399
});
405400

@@ -417,14 +412,11 @@ describe('schedulers', () => {
417412
expect(schedulerTypes[1]).toHaveLength(1);
418413
expect(schedulerTypes[1]).toContain(ErrorBoundary);
419414

420-
// Question: Should Parent also be reported in the second schedulers set?
421-
// I have mixed feelings about this; it's easier not to include it so...
422-
423415
// Verify no outstanding flushes
424416
Scheduler.flushAll();
425417
});
426418

427-
it('should distinguish between schedulers in the case of interleaved work', () => {
419+
it('should distinguish between updaters in the case of interleaved work', () => {
428420
let triggerLowPriorityUpdate = null;
429421
let triggerSyncPriorityUpdate = null;
430422

packages/shared/ReactFeatureFlags.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export const enableProfilerTimer = __PROFILE__;
3232
export const enableSchedulerTracing = __PROFILE__;
3333

3434
// Track which Fiber(s) schedule render work.
35-
export const enableUpdateSchedulerTracking = __PROFILE__;
35+
export const enableUpdaterTracking = __PROFILE__;
3636

3737
// Only used in www builds.
3838
export const enableSuspenseServerRenderer = false; // TODO: __DEV__? Here it might just be false.

packages/shared/forks/ReactFeatureFlags.native-fb.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const {debugRenderPhaseSideEffects} = require('ReactFeatureFlags');
1919
export const enableUserTimingAPI = __DEV__;
2020
export const enableProfilerTimer = __PROFILE__;
2121
export const enableSchedulerTracing = __PROFILE__;
22-
export const enableUpdateSchedulerTracking = __PROFILE__;
22+
export const enableUpdaterTracking = __PROFILE__;
2323
export const enableSuspenseServerRenderer = false;
2424
export const enableStableConcurrentModeAPIs = false;
2525
export const warnAboutShorthandPropertyCollision = false;

packages/shared/forks/ReactFeatureFlags.native-oss.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const replayFailedUnitOfWorkWithInvokeGuardedCallback = __DEV__;
1919
export const warnAboutDeprecatedLifecycles = true;
2020
export const enableProfilerTimer = __PROFILE__;
2121
export const enableSchedulerTracing = __PROFILE__;
22-
export const enableUpdateSchedulerTracking = __PROFILE__;
22+
export const enableUpdaterTracking = __PROFILE__;
2323
export const enableSuspenseServerRenderer = false;
2424
export const disableJavaScriptURLs = false;
2525
export const disableYielding = false;

packages/shared/forks/ReactFeatureFlags.persistent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const warnAboutDeprecatedLifecycles = true;
1919
export const replayFailedUnitOfWorkWithInvokeGuardedCallback = __DEV__;
2020
export const enableProfilerTimer = __PROFILE__;
2121
export const enableSchedulerTracing = __PROFILE__;
22-
export const enableUpdateSchedulerTracking = __PROFILE__;
22+
export const enableUpdaterTracking = __PROFILE__;
2323
export const enableSuspenseServerRenderer = false;
2424
export const disableJavaScriptURLs = false;
2525
export const disableYielding = false;

packages/shared/forks/ReactFeatureFlags.test-renderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const warnAboutDeprecatedLifecycles = false;
1919
export const replayFailedUnitOfWorkWithInvokeGuardedCallback = false;
2020
export const enableProfilerTimer = false;
2121
export const enableSchedulerTracing = false;
22-
export const enableUpdateSchedulerTracking = false;
22+
export const enableUpdaterTracking = false;
2323
export const enableSuspenseServerRenderer = false;
2424
export const disableJavaScriptURLs = false;
2525
export const disableYielding = false;

0 commit comments

Comments
 (0)