Skip to content

Commit

Permalink
[Fizz] Fork Fizz instruction set for inline script and external runti…
Browse files Browse the repository at this point in the history
…me (#25862)

~~[Fizz] Duplicate completeBoundaryWithStyles to not reference globals~~

## Summary

Follow-up / cleanup PR to #25437

- `completeBoundaryWithStylesInlineLocals` is used by the Fizz external
runtime, which bundles together all Fizz instruction functions (and is
able to reference / rename `completeBoundary` and `resourceMap` as
locals).
- `completeBoundaryWithStylesInlineGlobals` is used by the Fizz inline
script writer, which sends Fizz instruction functions on an as-needed
basis. This version needs to reference `completeBoundary($RC)` and
`resourceMap($RM)` as globals.

Ideally, Closure would take care of inlining a shared implementation,
but I couldn't figure out a zero-overhead inline due to lack of an
`@inline` compiler directive. It seems that Closure thinks that a shared
`completeBoundaryWithStyles` is too large and will always keep it as a
separate function. I've also tried currying / writing a higher order
function (`getCompleteBoundaryWithStyles`) with no luck

## How did you test this change?
- generated Fizz inline instructions should be unchanged
- bundle size for unstable_external_runtime should be slightly smaller
(due to lack of globals)
- `ReactDOMFizzServer-test.js` and `ReactDOMFloat-test.js` should be
unaffected

DiffTrain build for [0b97441](0b97441)
[View git log for this commit](https://github.com/facebook/react/commits/0b974418c9a56f6c560298560265dcf4b65784bc)
  • Loading branch information
mofeiZ committed Jan 6, 2023
1 parent 9f85d07 commit 3131770
Show file tree
Hide file tree
Showing 29 changed files with 47 additions and 47 deletions.
2 changes: 1 addition & 1 deletion compiled/facebook-www/REVISION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5379b6123f171bb48cc8a9c435c11ccb9f8ff0e7
0b974418c9a56f6c560298560265dcf4b65784bc
2 changes: 1 addition & 1 deletion compiled/facebook-www/REVISION_TRANSFORMS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5379b6123f171bb48cc8a9c435c11ccb9f8ff0e7
0b974418c9a56f6c560298560265dcf4b65784bc
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ if (
}
"use strict";

var ReactVersion = "18.3.0-www-classic-5379b6123-20230105";
var ReactVersion = "18.3.0-www-classic-0b974418c-20230106";

// ATTENTION
// When adding new symbols to this file,
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ if (
}
"use strict";

var ReactVersion = "18.3.0-www-modern-5379b6123-20230105";
var ReactVersion = "18.3.0-www-modern-0b974418c-20230106";

// ATTENTION
// When adding new symbols to this file,
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -643,4 +643,4 @@ exports.useSyncExternalStore = function(
);
};
exports.useTransition = useTransition;
exports.version = "18.3.0-www-classic-5379b6123-20230105";
exports.version = "18.3.0-www-classic-0b974418c-20230106";
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -635,4 +635,4 @@ exports.useSyncExternalStore = function(
);
};
exports.useTransition = useTransition;
exports.version = "18.3.0-www-modern-5379b6123-20230105";
exports.version = "18.3.0-www-modern-0b974418c-20230106";
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-profiling.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,7 @@ exports.useSyncExternalStore = function(
);
};
exports.useTransition = useTransition;
exports.version = "18.3.0-www-classic-5379b6123-20230105";
exports.version = "18.3.0-www-classic-0b974418c-20230106";

/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
if (
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/React-profiling.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,7 @@ exports.useSyncExternalStore = function(
);
};
exports.useTransition = useTransition;
exports.version = "18.3.0-www-modern-5379b6123-20230105";
exports.version = "18.3.0-www-modern-0b974418c-20230106";

/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
if (
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactART-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ function _assertThisInitialized(self) {
return self;
}

var ReactVersion = "18.3.0-www-classic-5379b6123-20230105";
var ReactVersion = "18.3.0-www-classic-0b974418c-20230106";

var LegacyRoot = 0;
var ConcurrentRoot = 1;
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactART-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ function _assertThisInitialized(self) {
return self;
}

var ReactVersion = "18.3.0-www-modern-5379b6123-20230105";
var ReactVersion = "18.3.0-www-modern-0b974418c-20230106";

var LegacyRoot = 0;
var ConcurrentRoot = 1;
Expand Down
4 changes: 2 additions & 2 deletions compiled/facebook-www/ReactART-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -9804,7 +9804,7 @@ var slice = Array.prototype.slice,
return null;
},
bundleType: 0,
version: "18.3.0-www-classic-5379b6123-20230105",
version: "18.3.0-www-classic-0b974418c-20230106",
rendererPackageName: "react-art"
};
var internals$jscomp$inline_1319 = {
Expand Down Expand Up @@ -9835,7 +9835,7 @@ var internals$jscomp$inline_1319 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1320 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down
4 changes: 2 additions & 2 deletions compiled/facebook-www/ReactART-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -9471,7 +9471,7 @@ var slice = Array.prototype.slice,
return null;
},
bundleType: 0,
version: "18.3.0-www-modern-5379b6123-20230105",
version: "18.3.0-www-modern-0b974418c-20230106",
rendererPackageName: "react-art"
};
var internals$jscomp$inline_1310 = {
Expand Down Expand Up @@ -9502,7 +9502,7 @@ var internals$jscomp$inline_1310 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1311 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOM-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -42689,7 +42689,7 @@ function createFiberRoot(
return root;
}

var ReactVersion = "18.3.0-www-classic-5379b6123-20230105";
var ReactVersion = "18.3.0-www-classic-0b974418c-20230106";

function createPortal(
children,
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOM-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -42413,7 +42413,7 @@ function createFiberRoot(
return root;
}

var ReactVersion = "18.3.0-www-modern-5379b6123-20230105";
var ReactVersion = "18.3.0-www-modern-0b974418c-20230106";

function createPortal(
children,
Expand Down
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactDOM-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -15554,7 +15554,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1751 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-classic-5379b6123-20230105",
version: "18.3.0-www-classic-0b974418c-20230106",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2135 = {
Expand Down Expand Up @@ -15584,7 +15584,7 @@ var internals$jscomp$inline_2135 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2136 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down Expand Up @@ -15826,4 +15826,4 @@ exports.unstable_renderSubtreeIntoContainer = function(
);
};
exports.unstable_runWithPriority = runWithPriority;
exports.version = "18.3.0-next-5379b6123-20230105";
exports.version = "18.3.0-next-0b974418c-20230106";
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactDOM-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -15115,7 +15115,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1719 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-modern-5379b6123-20230105",
version: "18.3.0-www-modern-0b974418c-20230106",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2110 = {
Expand Down Expand Up @@ -15146,7 +15146,7 @@ var internals$jscomp$inline_2110 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2111 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down Expand Up @@ -15334,4 +15334,4 @@ exports.unstable_flushControlled = function(fn) {
}
};
exports.unstable_runWithPriority = runWithPriority;
exports.version = "18.3.0-next-5379b6123-20230105";
exports.version = "18.3.0-next-0b974418c-20230106";
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactDOM-profiling.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -16324,7 +16324,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1825 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-classic-5379b6123-20230105",
version: "18.3.0-www-classic-0b974418c-20230106",
rendererPackageName: "react-dom"
};
(function(internals) {
Expand Down Expand Up @@ -16368,7 +16368,7 @@ var devToolsConfig$jscomp$inline_1825 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
});
assign(Internals, {
ReactBrowserEventEmitter: {
Expand Down Expand Up @@ -16597,7 +16597,7 @@ exports.unstable_renderSubtreeIntoContainer = function(
);
};
exports.unstable_runWithPriority = runWithPriority;
exports.version = "18.3.0-next-5379b6123-20230105";
exports.version = "18.3.0-next-0b974418c-20230106";

/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
if (
Expand Down
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactDOM-profiling.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -15875,7 +15875,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1793 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-modern-5379b6123-20230105",
version: "18.3.0-www-modern-0b974418c-20230106",
rendererPackageName: "react-dom"
};
(function(internals) {
Expand Down Expand Up @@ -15920,7 +15920,7 @@ var devToolsConfig$jscomp$inline_1793 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
});
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
exports.createPortal = function(children, container) {
Expand Down Expand Up @@ -16095,7 +16095,7 @@ exports.unstable_flushControlled = function(fn) {
}
};
exports.unstable_runWithPriority = runWithPriority;
exports.version = "18.3.0-next-5379b6123-20230105";
exports.version = "18.3.0-next-0b974418c-20230106";

/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
if (
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOMServer-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ if (__DEV__) {
var React = require("react");
var ReactDOM = require("react-dom");

var ReactVersion = "18.3.0-www-classic-5379b6123-20230105";
var ReactVersion = "18.3.0-www-classic-0b974418c-20230106";

// This refers to a WWW module.
var warningWWW = require("warning");
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOMServer-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ if (__DEV__) {
var React = require("react");
var ReactDOM = require("react-dom");

var ReactVersion = "18.3.0-www-modern-5379b6123-20230105";
var ReactVersion = "18.3.0-www-modern-0b974418c-20230106";

// This refers to a WWW module.
var warningWWW = require("warning");
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOMServer-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -3633,4 +3633,4 @@ exports.renderToString = function(children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "18.3.0-www-classic-5379b6123-20230105";
exports.version = "18.3.0-www-classic-0b974418c-20230106";
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOMServer-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -3546,4 +3546,4 @@ exports.renderToString = function(children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "18.3.0-www-modern-5379b6123-20230105";
exports.version = "18.3.0-www-modern-0b974418c-20230106";
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOMTesting-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -31199,7 +31199,7 @@ function createFiberRoot(
return root;
}

var ReactVersion = "18.3.0-www-classic-5379b6123-20230105";
var ReactVersion = "18.3.0-www-classic-0b974418c-20230106";

function createPortal(
children,
Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactDOMTesting-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -38501,7 +38501,7 @@ function createFiberRoot(
return root;
}

var ReactVersion = "18.3.0-www-modern-5379b6123-20230105";
var ReactVersion = "18.3.0-www-modern-0b974418c-20230106";

function createPortal(
children,
Expand Down
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactDOMTesting-prod.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -11328,7 +11328,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1519 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-classic-5379b6123-20230105",
version: "18.3.0-www-classic-0b974418c-20230106",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2048 = {
Expand Down Expand Up @@ -11358,7 +11358,7 @@ var internals$jscomp$inline_2048 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2049 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down Expand Up @@ -14847,4 +14847,4 @@ exports.unstable_renderSubtreeIntoContainer = function(
);
};
exports.unstable_runWithPriority = runWithPriority;
exports.version = "18.3.0-next-5379b6123-20230105";
exports.version = "18.3.0-next-0b974418c-20230106";
6 changes: 3 additions & 3 deletions compiled/facebook-www/ReactDOMTesting-prod.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -13967,7 +13967,7 @@ Internals.Events = [
var devToolsConfig$jscomp$inline_1674 = {
findFiberByHostInstance: getClosestInstanceFromNode,
bundleType: 0,
version: "18.3.0-www-modern-5379b6123-20230105",
version: "18.3.0-www-modern-0b974418c-20230106",
rendererPackageName: "react-dom"
};
var internals$jscomp$inline_2073 = {
Expand Down Expand Up @@ -13998,7 +13998,7 @@ var internals$jscomp$inline_2073 = {
scheduleRoot: null,
setRefreshHandler: null,
getCurrentFiber: null,
reconcilerVersion: "18.3.0-next-5379b6123-20230105"
reconcilerVersion: "18.3.0-next-0b974418c-20230106"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2074 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
Expand Down Expand Up @@ -14321,4 +14321,4 @@ exports.unstable_flushControlled = function(fn) {
}
};
exports.unstable_runWithPriority = runWithPriority;
exports.version = "18.3.0-next-5379b6123-20230105";
exports.version = "18.3.0-next-0b974418c-20230106";
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactTestRenderer-dev.classic.js
Original file line number Diff line number Diff line change
Expand Up @@ -23898,7 +23898,7 @@ function createFiberRoot(
return root;
}

var ReactVersion = "18.3.0-www-classic-5379b6123-20230105";
var ReactVersion = "18.3.0-www-classic-0b974418c-20230106";

// Might add PROFILE later.

Expand Down
2 changes: 1 addition & 1 deletion compiled/facebook-www/ReactTestRenderer-dev.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -23898,7 +23898,7 @@ function createFiberRoot(
return root;
}

var ReactVersion = "18.3.0-www-modern-5379b6123-20230105";
var ReactVersion = "18.3.0-www-modern-0b974418c-20230106";

// Might add PROFILE later.

Expand Down
10 changes: 5 additions & 5 deletions compiled/facebook-www/unstable_server-external-runtime.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 3131770

Please sign in to comment.