mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
[compiler][be] Stabilize compiler output: sort deps and decls by name
All dependencies and declarations of a reactive scope can be reordered to scope start/end. i.e. generated code does not depend on conditional short-circuiting logic as dependencies are inferred to have no side effects. Sorting these by name helps us get higher signal compilation snapshot diffs when upgrading the compiler and testing PRs internally at Meta
This commit is contained in:
+49
-2
@@ -34,6 +34,7 @@ import {
|
||||
ReactiveInstruction,
|
||||
ReactiveScope,
|
||||
ReactiveScopeBlock,
|
||||
ReactiveScopeDeclaration,
|
||||
ReactiveScopeDependency,
|
||||
ReactiveTerminal,
|
||||
ReactiveValue,
|
||||
@@ -572,7 +573,8 @@ function codegenReactiveScope(
|
||||
const changeExpressions: Array<t.Expression> = [];
|
||||
const changeExpressionComments: Array<string> = [];
|
||||
const outputComments: Array<string> = [];
|
||||
for (const dep of scope.dependencies) {
|
||||
|
||||
for (const dep of [...scope.dependencies].sort(compareScopeDependency)) {
|
||||
const index = cx.nextCacheIndex;
|
||||
changeExpressionComments.push(printDependencyComment(dep));
|
||||
const comparison = t.binaryExpression(
|
||||
@@ -615,7 +617,10 @@ function codegenReactiveScope(
|
||||
);
|
||||
}
|
||||
let firstOutputIndex: number | null = null;
|
||||
for (const [, {identifier}] of scope.declarations) {
|
||||
|
||||
for (const [, {identifier}] of [...scope.declarations].sort(([, a], [, b]) =>
|
||||
compareScopeDeclaration(a, b),
|
||||
)) {
|
||||
const index = cx.nextCacheIndex;
|
||||
if (firstOutputIndex === null) {
|
||||
firstOutputIndex = index;
|
||||
@@ -2566,3 +2571,45 @@ function convertIdentifier(identifier: Identifier): t.Identifier {
|
||||
);
|
||||
return t.identifier(identifier.name.value);
|
||||
}
|
||||
|
||||
function compareScopeDependency(
|
||||
a: ReactiveScopeDependency,
|
||||
b: ReactiveScopeDependency,
|
||||
): number {
|
||||
CompilerError.invariant(
|
||||
a.identifier.name?.kind === 'named' && b.identifier.name?.kind === 'named',
|
||||
{
|
||||
reason: '[Codegen] Expected named identifier for dependency',
|
||||
loc: a.identifier.loc,
|
||||
},
|
||||
);
|
||||
const aName = [
|
||||
a.identifier.name.value,
|
||||
...a.path.map(entry => `${entry.optional ? '?' : ''}${entry.property}`),
|
||||
].join('.');
|
||||
const bName = [
|
||||
b.identifier.name.value,
|
||||
...b.path.map(entry => `${entry.optional ? '?' : ''}${entry.property}`),
|
||||
].join('.');
|
||||
if (aName < bName) return -1;
|
||||
else if (aName > bName) return 1;
|
||||
else return 0;
|
||||
}
|
||||
|
||||
function compareScopeDeclaration(
|
||||
a: ReactiveScopeDeclaration,
|
||||
b: ReactiveScopeDeclaration,
|
||||
): number {
|
||||
CompilerError.invariant(
|
||||
a.identifier.name?.kind === 'named' && b.identifier.name?.kind === 'named',
|
||||
{
|
||||
reason: '[Codegen] Expected named identifier for declaration',
|
||||
loc: a.identifier.loc,
|
||||
},
|
||||
);
|
||||
const aName = a.identifier.name.value;
|
||||
const bName = b.identifier.name.value;
|
||||
if (aName < bName) return -1;
|
||||
else if (aName > bName) return 1;
|
||||
else return 0;
|
||||
}
|
||||
|
||||
+3
-3
@@ -47,7 +47,7 @@ import { identity, mutate, setProperty } from "shared-runtime";
|
||||
function AllocatingPrimitiveAsDepNested(props) {
|
||||
const $ = _c(5);
|
||||
let t0;
|
||||
if ($[0] !== props.b || $[1] !== props.a) {
|
||||
if ($[0] !== props.a || $[1] !== props.b) {
|
||||
const x = {};
|
||||
mutate(x);
|
||||
const t1 = identity(props.b) + 1;
|
||||
@@ -62,8 +62,8 @@ function AllocatingPrimitiveAsDepNested(props) {
|
||||
const y = t2;
|
||||
setProperty(x, props.a);
|
||||
t0 = [x, y];
|
||||
$[0] = props.b;
|
||||
$[1] = props.a;
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
|
||||
+3
-3
@@ -41,7 +41,7 @@ function ArrayAtTest(props) {
|
||||
}
|
||||
const arr = t1;
|
||||
let t2;
|
||||
if ($[4] !== props.y || $[5] !== arr) {
|
||||
if ($[4] !== arr || $[5] !== props.y) {
|
||||
let t3;
|
||||
if ($[7] !== props.y) {
|
||||
t3 = bar(props.y);
|
||||
@@ -51,8 +51,8 @@ function ArrayAtTest(props) {
|
||||
t3 = $[8];
|
||||
}
|
||||
t2 = arr.at(t3);
|
||||
$[4] = props.y;
|
||||
$[5] = arr;
|
||||
$[4] = arr;
|
||||
$[5] = props.y;
|
||||
$[6] = t2;
|
||||
} else {
|
||||
t2 = $[6];
|
||||
|
||||
+3
-3
@@ -22,10 +22,10 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function Component(props) {
|
||||
const $ = _c(3);
|
||||
let t0;
|
||||
if ($[0] !== props.foo || $[1] !== props.bar) {
|
||||
if ($[0] !== props.bar || $[1] !== props.foo) {
|
||||
t0 = [0, ...props.foo, null, ...props.bar, "z"];
|
||||
$[0] = props.foo;
|
||||
$[1] = props.bar;
|
||||
$[0] = props.bar;
|
||||
$[1] = props.foo;
|
||||
$[2] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
|
||||
+5
-5
@@ -24,18 +24,18 @@ export const FIXTURE_ENTRYPOINT = {
|
||||
import { c as _c } from "react/compiler-runtime";
|
||||
function Component(props) {
|
||||
const $ = _c(11);
|
||||
let t0;
|
||||
let a;
|
||||
let t0;
|
||||
if ($[0] !== props.a || $[1] !== props.b) {
|
||||
a = [props.a, props.b, "hello"];
|
||||
t0 = a.push(42);
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = t0;
|
||||
$[3] = a;
|
||||
$[2] = a;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
a = $[3];
|
||||
a = $[2];
|
||||
t0 = $[3];
|
||||
}
|
||||
const x = t0;
|
||||
let t1;
|
||||
|
||||
+3
-3
@@ -70,10 +70,10 @@ function Component() {
|
||||
throw new Error("invariant broken");
|
||||
}
|
||||
let t1;
|
||||
if ($[1] !== obj || $[2] !== boxedInner) {
|
||||
if ($[1] !== boxedInner || $[2] !== obj) {
|
||||
t1 = <Stringify obj={obj} inner={boxedInner} />;
|
||||
$[1] = obj;
|
||||
$[2] = boxedInner;
|
||||
$[1] = boxedInner;
|
||||
$[2] = obj;
|
||||
$[3] = t1;
|
||||
} else {
|
||||
t1 = $[3];
|
||||
|
||||
+3
-3
@@ -32,7 +32,7 @@ import { mutate } from "shared-runtime";
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let x;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
x = { foo };
|
||||
const y = { bar };
|
||||
|
||||
@@ -41,8 +41,8 @@ function component(foo, bar) {
|
||||
a.x = b;
|
||||
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let x;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
x = { foo };
|
||||
const y = { bar };
|
||||
const f0 = function () {
|
||||
@@ -35,8 +35,8 @@ function component(foo, bar) {
|
||||
|
||||
f0();
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+3
-3
@@ -32,7 +32,7 @@ const { mutate } = require("shared-runtime");
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let x;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
x = { foo };
|
||||
const y = { bar };
|
||||
|
||||
@@ -41,8 +41,8 @@ function component(foo, bar) {
|
||||
a.x = b;
|
||||
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let x;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
x = { foo };
|
||||
const y = { bar };
|
||||
const f0 = function () {
|
||||
@@ -35,8 +35,8 @@ function component(foo, bar) {
|
||||
|
||||
f0();
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+3
-3
@@ -32,7 +32,7 @@ const { mutate } = require("shared-runtime");
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let y;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
const x = { foo };
|
||||
y = { bar };
|
||||
|
||||
@@ -41,8 +41,8 @@ function component(foo, bar) {
|
||||
a.x = b;
|
||||
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = y;
|
||||
} else {
|
||||
y = $[2];
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let y;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
const x = { foo };
|
||||
y = { bar };
|
||||
const f0 = function () {
|
||||
@@ -35,8 +35,8 @@ function component(foo, bar) {
|
||||
|
||||
f0();
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = y;
|
||||
} else {
|
||||
y = $[2];
|
||||
|
||||
+3
-3
@@ -32,7 +32,7 @@ const { mutate } = require("shared-runtime");
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let y;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
const x = { foo };
|
||||
y = { bar };
|
||||
|
||||
@@ -41,8 +41,8 @@ function component(foo, bar) {
|
||||
a.x = b;
|
||||
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = y;
|
||||
} else {
|
||||
y = $[2];
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function component(foo, bar) {
|
||||
const $ = _c(3);
|
||||
let y;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
const x = { foo };
|
||||
y = { bar };
|
||||
const f0 = function () {
|
||||
@@ -35,8 +35,8 @@ function component(foo, bar) {
|
||||
|
||||
f0();
|
||||
mutate(y);
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = y;
|
||||
} else {
|
||||
y = $[2];
|
||||
|
||||
+3
-3
@@ -46,10 +46,10 @@ function component(t0) {
|
||||
}
|
||||
const hide = t2;
|
||||
let t3;
|
||||
if ($[4] !== poke || $[5] !== hide) {
|
||||
if ($[4] !== hide || $[5] !== poke) {
|
||||
t3 = <Foo poke={poke} hide={hide} />;
|
||||
$[4] = poke;
|
||||
$[5] = hide;
|
||||
$[4] = hide;
|
||||
$[5] = poke;
|
||||
$[6] = t3;
|
||||
} else {
|
||||
t3 = $[6];
|
||||
|
||||
+6
-6
@@ -46,7 +46,7 @@ function Component(props) {
|
||||
const items = props.items;
|
||||
const maxItems = props.maxItems;
|
||||
let renderedItems;
|
||||
if ($[0] !== maxItems || $[1] !== items) {
|
||||
if ($[0] !== items || $[1] !== maxItems) {
|
||||
renderedItems = [];
|
||||
const seen = new Set();
|
||||
const max = Math.max(0, maxItems);
|
||||
@@ -62,8 +62,8 @@ function Component(props) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
$[0] = maxItems;
|
||||
$[1] = items;
|
||||
$[0] = items;
|
||||
$[1] = maxItems;
|
||||
$[2] = renderedItems;
|
||||
} else {
|
||||
renderedItems = $[2];
|
||||
@@ -79,15 +79,15 @@ function Component(props) {
|
||||
t0 = $[4];
|
||||
}
|
||||
let t1;
|
||||
if ($[5] !== t0 || $[6] !== renderedItems) {
|
||||
if ($[5] !== renderedItems || $[6] !== t0) {
|
||||
t1 = (
|
||||
<div>
|
||||
{t0}
|
||||
{renderedItems}
|
||||
</div>
|
||||
);
|
||||
$[5] = t0;
|
||||
$[6] = renderedItems;
|
||||
$[5] = renderedItems;
|
||||
$[6] = t0;
|
||||
$[7] = t1;
|
||||
} else {
|
||||
t1 = $[7];
|
||||
|
||||
+4
-4
@@ -16,11 +16,11 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function Component(props) {
|
||||
const $ = _c(4);
|
||||
let t0;
|
||||
if ($[0] !== props.method || $[1] !== props.a || $[2] !== props.b) {
|
||||
if ($[0] !== props.a || $[1] !== props.b || $[2] !== props.method) {
|
||||
t0 = foo[props.method](...props.a, null, ...props.b);
|
||||
$[0] = props.method;
|
||||
$[1] = props.a;
|
||||
$[2] = props.b;
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = props.method;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[3];
|
||||
|
||||
+3
-3
@@ -41,7 +41,7 @@ function foo(a, b) {
|
||||
x = $[1];
|
||||
}
|
||||
let y;
|
||||
if ($[2] !== x || $[3] !== b) {
|
||||
if ($[2] !== b || $[3] !== x) {
|
||||
y = [];
|
||||
if (x.length) {
|
||||
y.push(x);
|
||||
@@ -49,8 +49,8 @@ function foo(a, b) {
|
||||
if (b) {
|
||||
y.push(b);
|
||||
}
|
||||
$[2] = x;
|
||||
$[3] = b;
|
||||
$[2] = b;
|
||||
$[3] = x;
|
||||
$[4] = y;
|
||||
} else {
|
||||
y = $[4];
|
||||
|
||||
+4
-4
@@ -61,11 +61,11 @@ function useFoo(props) {
|
||||
z = $[4];
|
||||
}
|
||||
let t0;
|
||||
if ($[5] !== x || $[6] !== y || $[7] !== myList) {
|
||||
if ($[5] !== myList || $[6] !== x || $[7] !== y) {
|
||||
t0 = { x, y, myList };
|
||||
$[5] = x;
|
||||
$[6] = y;
|
||||
$[7] = myList;
|
||||
$[5] = myList;
|
||||
$[6] = x;
|
||||
$[7] = y;
|
||||
$[8] = t0;
|
||||
} else {
|
||||
t0 = $[8];
|
||||
|
||||
+3
-3
@@ -41,10 +41,10 @@ function Component(props) {
|
||||
}
|
||||
const sameName = t1;
|
||||
let t2;
|
||||
if ($[2] !== sameName || $[3] !== renamed) {
|
||||
if ($[2] !== renamed || $[3] !== sameName) {
|
||||
t2 = [sameName, renamed];
|
||||
$[2] = sameName;
|
||||
$[3] = renamed;
|
||||
$[2] = renamed;
|
||||
$[3] = sameName;
|
||||
$[4] = t2;
|
||||
} else {
|
||||
t2 = $[4];
|
||||
|
||||
+17
-17
@@ -36,45 +36,45 @@ export const FIXTURE_ENTRYPOINT = {
|
||||
import { c as _c } from "react/compiler-runtime";
|
||||
function foo(a, b, c) {
|
||||
const $ = _c(18);
|
||||
let t0;
|
||||
let d;
|
||||
let h;
|
||||
let t0;
|
||||
if ($[0] !== a) {
|
||||
[d, t0, ...h] = a;
|
||||
$[0] = a;
|
||||
$[1] = t0;
|
||||
$[2] = d;
|
||||
$[3] = h;
|
||||
$[1] = d;
|
||||
$[2] = h;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[1];
|
||||
d = $[2];
|
||||
h = $[3];
|
||||
d = $[1];
|
||||
h = $[2];
|
||||
t0 = $[3];
|
||||
}
|
||||
const [t1] = t0;
|
||||
let t2;
|
||||
let g;
|
||||
let t2;
|
||||
if ($[4] !== t1) {
|
||||
({ e: t2, ...g } = t1);
|
||||
$[4] = t1;
|
||||
$[5] = t2;
|
||||
$[6] = g;
|
||||
$[5] = g;
|
||||
$[6] = t2;
|
||||
} else {
|
||||
t2 = $[5];
|
||||
g = $[6];
|
||||
g = $[5];
|
||||
t2 = $[6];
|
||||
}
|
||||
const { f } = t2;
|
||||
const { l: t3, p } = b;
|
||||
const { m: t4 } = t3;
|
||||
let t5;
|
||||
let o;
|
||||
let t5;
|
||||
if ($[7] !== t4) {
|
||||
[t5, ...o] = t4;
|
||||
$[7] = t4;
|
||||
$[8] = t5;
|
||||
$[9] = o;
|
||||
$[8] = o;
|
||||
$[9] = t5;
|
||||
} else {
|
||||
t5 = $[8];
|
||||
o = $[9];
|
||||
o = $[8];
|
||||
t5 = $[9];
|
||||
}
|
||||
const [n] = t5;
|
||||
let t6;
|
||||
|
||||
+5
-5
@@ -53,8 +53,8 @@ import { ValidateMemoization } from "shared-runtime";
|
||||
function Component(t0) {
|
||||
const $ = _c(25);
|
||||
const { a, b, c } = t0;
|
||||
let y;
|
||||
let x;
|
||||
let y;
|
||||
if ($[0] !== a || $[1] !== b || $[2] !== c) {
|
||||
x = [];
|
||||
if (a) {
|
||||
@@ -73,11 +73,11 @@ function Component(t0) {
|
||||
$[0] = a;
|
||||
$[1] = b;
|
||||
$[2] = c;
|
||||
$[3] = y;
|
||||
$[4] = x;
|
||||
$[3] = x;
|
||||
$[4] = y;
|
||||
} else {
|
||||
y = $[3];
|
||||
x = $[4];
|
||||
x = $[3];
|
||||
y = $[4];
|
||||
}
|
||||
let t1;
|
||||
if ($[7] !== y) {
|
||||
|
||||
+3
-3
@@ -61,10 +61,10 @@ function Component(props) {
|
||||
t2 = $[3];
|
||||
}
|
||||
let t3;
|
||||
if ($[4] !== t2 || $[5] !== array) {
|
||||
if ($[4] !== array || $[5] !== t2) {
|
||||
t3 = <ValidateMemoization inputs={t2} output={array} />;
|
||||
$[4] = t2;
|
||||
$[5] = array;
|
||||
$[4] = array;
|
||||
$[5] = t2;
|
||||
$[6] = t3;
|
||||
} else {
|
||||
t3 = $[6];
|
||||
|
||||
+3
-3
@@ -59,10 +59,10 @@ function Component(props) {
|
||||
t3 = $[4];
|
||||
}
|
||||
let t4;
|
||||
if ($[5] !== t3 || $[6] !== doubled) {
|
||||
if ($[5] !== doubled || $[6] !== t3) {
|
||||
t4 = <ValidateMemoization inputs={t3} output={doubled} />;
|
||||
$[5] = t3;
|
||||
$[6] = doubled;
|
||||
$[5] = doubled;
|
||||
$[6] = t3;
|
||||
$[7] = t4;
|
||||
} else {
|
||||
t4 = $[7];
|
||||
|
||||
+3
-3
@@ -61,10 +61,10 @@ function Component(t0) {
|
||||
t3 = $[3];
|
||||
}
|
||||
let t4;
|
||||
if ($[4] !== t3 || $[5] !== el) {
|
||||
if ($[4] !== el || $[5] !== t3) {
|
||||
t4 = <ValidateMemoization inputs={t3} output={el} />;
|
||||
$[4] = t3;
|
||||
$[5] = el;
|
||||
$[4] = el;
|
||||
$[5] = t3;
|
||||
$[6] = t4;
|
||||
} else {
|
||||
t4 = $[6];
|
||||
|
||||
+3
-3
@@ -32,7 +32,7 @@ function Component(t0) {
|
||||
const $ = _c(4);
|
||||
const { name, data, icon } = t0;
|
||||
let t1;
|
||||
if ($[0] !== name || $[1] !== icon || $[2] !== data) {
|
||||
if ($[0] !== data || $[1] !== icon || $[2] !== name) {
|
||||
t1 = (
|
||||
<Text type="body4">
|
||||
{fbt._(
|
||||
@@ -61,9 +61,9 @@ function Component(t0) {
|
||||
)}
|
||||
</Text>
|
||||
);
|
||||
$[0] = name;
|
||||
$[0] = data;
|
||||
$[1] = icon;
|
||||
$[2] = data;
|
||||
$[2] = name;
|
||||
$[3] = t1;
|
||||
} else {
|
||||
t1 = $[3];
|
||||
|
||||
+3
-3
@@ -67,7 +67,7 @@ const TOTAL = 10;
|
||||
function Component(props) {
|
||||
const $ = _c(3);
|
||||
let t0;
|
||||
if ($[0] !== props.start || $[1] !== props.items) {
|
||||
if ($[0] !== props.items || $[1] !== props.start) {
|
||||
const items = [];
|
||||
for (let i = props.start ?? 0; i < props.items.length; i++) {
|
||||
const item = props.items[i];
|
||||
@@ -75,8 +75,8 @@ function Component(props) {
|
||||
}
|
||||
|
||||
t0 = <div>{items}</div>;
|
||||
$[0] = props.start;
|
||||
$[1] = props.items;
|
||||
$[0] = props.items;
|
||||
$[1] = props.start;
|
||||
$[2] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
|
||||
+3
-3
@@ -91,10 +91,10 @@ function Component(t0) {
|
||||
t5 = $[9];
|
||||
}
|
||||
let t6;
|
||||
if ($[10] !== x || $[11] !== b) {
|
||||
if ($[10] !== b || $[11] !== x) {
|
||||
t6 = [x, b];
|
||||
$[10] = x;
|
||||
$[11] = b;
|
||||
$[10] = b;
|
||||
$[11] = x;
|
||||
$[12] = t6;
|
||||
} else {
|
||||
t6 = $[12];
|
||||
|
||||
+3
-3
@@ -59,10 +59,10 @@ function Component(props) {
|
||||
t1 = $[3];
|
||||
}
|
||||
let t2;
|
||||
if ($[4] !== t1 || $[5] !== a_0) {
|
||||
if ($[4] !== a_0 || $[5] !== t1) {
|
||||
t2 = <ValidateMemoization inputs={t1} output={a_0} />;
|
||||
$[4] = t1;
|
||||
$[5] = a_0;
|
||||
$[4] = a_0;
|
||||
$[5] = t1;
|
||||
$[6] = t2;
|
||||
} else {
|
||||
t2 = $[6];
|
||||
|
||||
+3
-3
@@ -36,10 +36,10 @@ function Component(t0) {
|
||||
}
|
||||
const f = t1;
|
||||
let t2;
|
||||
if ($[2] !== props || $[3] !== f) {
|
||||
if ($[2] !== f || $[3] !== props) {
|
||||
t2 = props == null ? _temp : f;
|
||||
$[2] = props;
|
||||
$[3] = f;
|
||||
$[2] = f;
|
||||
$[3] = props;
|
||||
$[4] = t2;
|
||||
} else {
|
||||
t2 = $[4];
|
||||
|
||||
+3
-3
@@ -36,10 +36,10 @@ function Component(props) {
|
||||
}
|
||||
const getLength = t0;
|
||||
let t1;
|
||||
if ($[2] !== props.bar || $[3] !== getLength) {
|
||||
if ($[2] !== getLength || $[3] !== props.bar) {
|
||||
t1 = props.bar && getLength();
|
||||
$[2] = props.bar;
|
||||
$[3] = getLength;
|
||||
$[2] = getLength;
|
||||
$[3] = props.bar;
|
||||
$[4] = t1;
|
||||
} else {
|
||||
t1 = $[4];
|
||||
|
||||
+3
-3
@@ -56,10 +56,10 @@ function Component() {
|
||||
t0 = $[1];
|
||||
}
|
||||
let t1;
|
||||
if ($[2] !== t0 || $[3] !== state) {
|
||||
if ($[2] !== state || $[3] !== t0) {
|
||||
t1 = <div onClick={t0}>{state}</div>;
|
||||
$[2] = t0;
|
||||
$[3] = state;
|
||||
$[2] = state;
|
||||
$[3] = t0;
|
||||
$[4] = t1;
|
||||
} else {
|
||||
t1 = $[4];
|
||||
|
||||
+3
-3
@@ -41,10 +41,10 @@ function Component(props) {
|
||||
console.log(props);
|
||||
}, [props.a]);
|
||||
let t1;
|
||||
if ($[2] !== x || $[3] !== item) {
|
||||
if ($[2] !== item || $[3] !== x) {
|
||||
t1 = [x, item];
|
||||
$[2] = x;
|
||||
$[3] = item;
|
||||
$[2] = item;
|
||||
$[3] = x;
|
||||
$[4] = t1;
|
||||
} else {
|
||||
t1 = $[4];
|
||||
|
||||
+3
-3
@@ -73,15 +73,15 @@ function Component() {
|
||||
t1 = $[4];
|
||||
}
|
||||
let t3;
|
||||
if ($[5] !== t2 || $[6] !== json) {
|
||||
if ($[5] !== json || $[6] !== t2) {
|
||||
t3 = (
|
||||
<div>
|
||||
{t2}
|
||||
{json}
|
||||
</div>
|
||||
);
|
||||
$[5] = t2;
|
||||
$[6] = json;
|
||||
$[5] = json;
|
||||
$[6] = t2;
|
||||
$[7] = t3;
|
||||
} else {
|
||||
t3 = $[7];
|
||||
|
||||
+7
-7
@@ -29,22 +29,22 @@ import { Stringify } from "shared-runtime";
|
||||
|
||||
function Component(t0) {
|
||||
const $ = _c(4);
|
||||
let t1;
|
||||
let a;
|
||||
let b;
|
||||
let t1;
|
||||
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
a = "a";
|
||||
|
||||
const [t2, t3] = [null, null];
|
||||
t1 = t3;
|
||||
a = t2;
|
||||
$[0] = t1;
|
||||
$[1] = a;
|
||||
$[2] = b;
|
||||
$[0] = a;
|
||||
$[1] = b;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[0];
|
||||
a = $[1];
|
||||
b = $[2];
|
||||
a = $[0];
|
||||
b = $[1];
|
||||
t1 = $[2];
|
||||
}
|
||||
b = t1;
|
||||
let t2;
|
||||
|
||||
+10
-10
@@ -27,10 +27,10 @@ function Component(props) {
|
||||
const $ = _c(15);
|
||||
const item = useFragment(FRAGMENT, props.item);
|
||||
useFreeze(item);
|
||||
let t0;
|
||||
let T0;
|
||||
let t1;
|
||||
let T1;
|
||||
let t0;
|
||||
let t1;
|
||||
if ($[0] !== item) {
|
||||
const count = new MaybeMutable(item);
|
||||
|
||||
@@ -44,15 +44,15 @@ function Component(props) {
|
||||
}
|
||||
t0 = maybeMutate(count);
|
||||
$[0] = item;
|
||||
$[1] = t0;
|
||||
$[2] = T0;
|
||||
$[3] = t1;
|
||||
$[4] = T1;
|
||||
$[1] = T0;
|
||||
$[2] = T1;
|
||||
$[3] = t0;
|
||||
$[4] = t1;
|
||||
} else {
|
||||
t0 = $[1];
|
||||
T0 = $[2];
|
||||
t1 = $[3];
|
||||
T1 = $[4];
|
||||
T0 = $[1];
|
||||
T1 = $[2];
|
||||
t0 = $[3];
|
||||
t1 = $[4];
|
||||
}
|
||||
let t2;
|
||||
if ($[6] !== t0) {
|
||||
|
||||
+6
-6
@@ -83,10 +83,10 @@ function _temp(t0) {
|
||||
t1 = $[1];
|
||||
}
|
||||
let t2;
|
||||
if ($[2] !== x || $[3] !== t1) {
|
||||
if ($[2] !== t1 || $[3] !== x) {
|
||||
t2 = <Bar x={x}>{t1}</Bar>;
|
||||
$[2] = x;
|
||||
$[3] = t1;
|
||||
$[2] = t1;
|
||||
$[3] = x;
|
||||
$[4] = t2;
|
||||
} else {
|
||||
t2 = $[4];
|
||||
@@ -98,15 +98,15 @@ function Bar(t0) {
|
||||
const $ = _c(3);
|
||||
const { x, children } = t0;
|
||||
let t1;
|
||||
if ($[0] !== x || $[1] !== children) {
|
||||
if ($[0] !== children || $[1] !== x) {
|
||||
t1 = (
|
||||
<>
|
||||
{x}
|
||||
{children}
|
||||
</>
|
||||
);
|
||||
$[0] = x;
|
||||
$[1] = children;
|
||||
$[0] = children;
|
||||
$[1] = x;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
|
||||
+9
-9
@@ -52,7 +52,7 @@ function Component(t0) {
|
||||
const { arr } = t0;
|
||||
const x = useX();
|
||||
let t1;
|
||||
if ($[0] !== x || $[1] !== arr) {
|
||||
if ($[0] !== arr || $[1] !== x) {
|
||||
let t2;
|
||||
if ($[3] !== x) {
|
||||
t2 = (i, id) => {
|
||||
@@ -66,8 +66,8 @@ function Component(t0) {
|
||||
t2 = $[4];
|
||||
}
|
||||
t1 = arr.map(t2);
|
||||
$[0] = x;
|
||||
$[1] = arr;
|
||||
$[0] = arr;
|
||||
$[1] = x;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
@@ -94,10 +94,10 @@ function _temp(t0) {
|
||||
t1 = $[1];
|
||||
}
|
||||
let t2;
|
||||
if ($[2] !== x || $[3] !== t1) {
|
||||
if ($[2] !== t1 || $[3] !== x) {
|
||||
t2 = <Bar x={x}>{t1}</Bar>;
|
||||
$[2] = x;
|
||||
$[3] = t1;
|
||||
$[2] = t1;
|
||||
$[3] = x;
|
||||
$[4] = t2;
|
||||
} else {
|
||||
t2 = $[4];
|
||||
@@ -109,15 +109,15 @@ function Bar(t0) {
|
||||
const $ = _c(3);
|
||||
const { x, children } = t0;
|
||||
let t1;
|
||||
if ($[0] !== x || $[1] !== children) {
|
||||
if ($[0] !== children || $[1] !== x) {
|
||||
t1 = (
|
||||
<>
|
||||
{x}
|
||||
{children}
|
||||
</>
|
||||
);
|
||||
$[0] = x;
|
||||
$[1] = children;
|
||||
$[0] = children;
|
||||
$[1] = x;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
|
||||
+11
-11
@@ -60,7 +60,7 @@ function Component(t0) {
|
||||
const { arr } = t0;
|
||||
const x = useX();
|
||||
let t1;
|
||||
if ($[0] !== x || $[1] !== arr) {
|
||||
if ($[0] !== arr || $[1] !== x) {
|
||||
let t2;
|
||||
if ($[3] !== x) {
|
||||
t2 = (i, id) => {
|
||||
@@ -73,8 +73,8 @@ function Component(t0) {
|
||||
t2 = $[4];
|
||||
}
|
||||
t1 = arr.map(t2);
|
||||
$[0] = x;
|
||||
$[1] = arr;
|
||||
$[0] = arr;
|
||||
$[1] = x;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
@@ -117,7 +117,7 @@ function _temp(t0) {
|
||||
t3 = $[5];
|
||||
}
|
||||
let t4;
|
||||
if ($[6] !== x || $[7] !== t1 || $[8] !== t2 || $[9] !== t3) {
|
||||
if ($[6] !== t1 || $[7] !== t2 || $[8] !== t3 || $[9] !== x) {
|
||||
t4 = (
|
||||
<Bar x={x}>
|
||||
{t1}
|
||||
@@ -125,10 +125,10 @@ function _temp(t0) {
|
||||
{t3}
|
||||
</Bar>
|
||||
);
|
||||
$[6] = x;
|
||||
$[7] = t1;
|
||||
$[8] = t2;
|
||||
$[9] = t3;
|
||||
$[6] = t1;
|
||||
$[7] = t2;
|
||||
$[8] = t3;
|
||||
$[9] = x;
|
||||
$[10] = t4;
|
||||
} else {
|
||||
t4 = $[10];
|
||||
@@ -140,15 +140,15 @@ function Bar(t0) {
|
||||
const $ = _c(3);
|
||||
const { x, children } = t0;
|
||||
let t1;
|
||||
if ($[0] !== x || $[1] !== children) {
|
||||
if ($[0] !== children || $[1] !== x) {
|
||||
t1 = (
|
||||
<>
|
||||
{x}
|
||||
{children}
|
||||
</>
|
||||
);
|
||||
$[0] = x;
|
||||
$[1] = children;
|
||||
$[0] = children;
|
||||
$[1] = x;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
|
||||
+9
-9
@@ -50,7 +50,7 @@ function Component(t0) {
|
||||
const { arr } = t0;
|
||||
const x = useX();
|
||||
let t1;
|
||||
if ($[0] !== x || $[1] !== arr) {
|
||||
if ($[0] !== arr || $[1] !== x) {
|
||||
let t2;
|
||||
if ($[3] !== x) {
|
||||
t2 = (i, id) => {
|
||||
@@ -63,8 +63,8 @@ function Component(t0) {
|
||||
t2 = $[4];
|
||||
}
|
||||
t1 = arr.map(t2);
|
||||
$[0] = x;
|
||||
$[1] = arr;
|
||||
$[0] = arr;
|
||||
$[1] = x;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
@@ -91,10 +91,10 @@ function _temp(t0) {
|
||||
t1 = $[1];
|
||||
}
|
||||
let t2;
|
||||
if ($[2] !== x || $[3] !== t1) {
|
||||
if ($[2] !== t1 || $[3] !== x) {
|
||||
t2 = <Bar x={x}>{t1}</Bar>;
|
||||
$[2] = x;
|
||||
$[3] = t1;
|
||||
$[2] = t1;
|
||||
$[3] = x;
|
||||
$[4] = t2;
|
||||
} else {
|
||||
t2 = $[4];
|
||||
@@ -106,15 +106,15 @@ function Bar(t0) {
|
||||
const $ = _c(3);
|
||||
const { x, children } = t0;
|
||||
let t1;
|
||||
if ($[0] !== x || $[1] !== children) {
|
||||
if ($[0] !== children || $[1] !== x) {
|
||||
t1 = (
|
||||
<>
|
||||
{x}
|
||||
{children}
|
||||
</>
|
||||
);
|
||||
$[0] = x;
|
||||
$[1] = children;
|
||||
$[0] = children;
|
||||
$[1] = x;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
|
||||
+8
-8
@@ -53,23 +53,23 @@ function maybeMutate(x) {}
|
||||
|
||||
function Component(props) {
|
||||
const $ = _c(11);
|
||||
let Tag;
|
||||
let T0;
|
||||
let Tag;
|
||||
let t0;
|
||||
if ($[0] !== props.component || $[1] !== props.alternateComponent) {
|
||||
if ($[0] !== props.alternateComponent || $[1] !== props.component) {
|
||||
const maybeMutable = new MaybeMutable();
|
||||
Tag = props.component;
|
||||
|
||||
T0 = Tag;
|
||||
t0 = ((Tag = props.alternateComponent), maybeMutate(maybeMutable));
|
||||
$[0] = props.component;
|
||||
$[1] = props.alternateComponent;
|
||||
$[2] = Tag;
|
||||
$[3] = T0;
|
||||
$[0] = props.alternateComponent;
|
||||
$[1] = props.component;
|
||||
$[2] = T0;
|
||||
$[3] = Tag;
|
||||
$[4] = t0;
|
||||
} else {
|
||||
Tag = $[2];
|
||||
T0 = $[3];
|
||||
T0 = $[2];
|
||||
Tag = $[3];
|
||||
t0 = $[4];
|
||||
}
|
||||
let t1;
|
||||
|
||||
+3
-3
@@ -44,7 +44,7 @@ function CaptureNotMutate(props) {
|
||||
}
|
||||
const idx = t0;
|
||||
let aliasedElement;
|
||||
if ($[2] !== props.el || $[3] !== idx) {
|
||||
if ($[2] !== idx || $[3] !== props.el) {
|
||||
const element = bar(props.el);
|
||||
|
||||
const fn = function () {
|
||||
@@ -54,8 +54,8 @@ function CaptureNotMutate(props) {
|
||||
|
||||
aliasedElement = fn();
|
||||
mutate(aliasedElement);
|
||||
$[2] = props.el;
|
||||
$[3] = idx;
|
||||
$[2] = idx;
|
||||
$[3] = props.el;
|
||||
$[4] = aliasedElement;
|
||||
} else {
|
||||
aliasedElement = $[4];
|
||||
|
||||
+3
-3
@@ -21,10 +21,10 @@ function App() {
|
||||
const { foo } = useContext_withSelector(MyContext, _temp);
|
||||
const { bar } = useContext_withSelector(MyContext, _temp2);
|
||||
let t0;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
t0 = <Bar foo={foo} bar={bar} />;
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
|
||||
+3
-3
@@ -19,10 +19,10 @@ function App() {
|
||||
const $ = _c(3);
|
||||
const { foo, bar } = useContext_withSelector(MyContext, _temp);
|
||||
let t0;
|
||||
if ($[0] !== foo || $[1] !== bar) {
|
||||
if ($[0] !== bar || $[1] !== foo) {
|
||||
t0 = <Bar foo={foo} bar={bar} />;
|
||||
$[0] = foo;
|
||||
$[1] = bar;
|
||||
$[0] = bar;
|
||||
$[1] = foo;
|
||||
$[2] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
|
||||
+3
-3
@@ -60,7 +60,7 @@ function Component() {
|
||||
t2 = $[3];
|
||||
}
|
||||
let t3;
|
||||
if ($[4] !== t1 || $[5] !== t0) {
|
||||
if ($[4] !== t0 || $[5] !== t1) {
|
||||
t3 = (
|
||||
<div>
|
||||
{t2}
|
||||
@@ -68,8 +68,8 @@ function Component() {
|
||||
{t0}
|
||||
</div>
|
||||
);
|
||||
$[4] = t1;
|
||||
$[5] = t0;
|
||||
$[4] = t0;
|
||||
$[5] = t1;
|
||||
$[6] = t3;
|
||||
} else {
|
||||
t3 = $[6];
|
||||
|
||||
+4
-4
@@ -43,11 +43,11 @@ function foo(a, b, c) {
|
||||
}
|
||||
const y = t1;
|
||||
let t2;
|
||||
if ($[4] !== x || $[5] !== y.method || $[6] !== b) {
|
||||
if ($[4] !== b || $[5] !== x || $[6] !== y.method) {
|
||||
t2 = x[y.method](b);
|
||||
$[4] = x;
|
||||
$[5] = y.method;
|
||||
$[6] = b;
|
||||
$[4] = b;
|
||||
$[5] = x;
|
||||
$[6] = y.method;
|
||||
$[7] = t2;
|
||||
} else {
|
||||
t2 = $[7];
|
||||
|
||||
+4
-4
@@ -33,11 +33,11 @@ function foo(a, b, c) {
|
||||
|
||||
const method = x.method;
|
||||
let t1;
|
||||
if ($[2] !== method || $[3] !== x || $[4] !== b) {
|
||||
if ($[2] !== b || $[3] !== method || $[4] !== x) {
|
||||
t1 = method.call(x, b);
|
||||
$[2] = method;
|
||||
$[3] = x;
|
||||
$[4] = b;
|
||||
$[2] = b;
|
||||
$[3] = method;
|
||||
$[4] = x;
|
||||
$[5] = t1;
|
||||
} else {
|
||||
t1 = $[5];
|
||||
|
||||
+3
-3
@@ -40,10 +40,10 @@ function foo(a, b, c) {
|
||||
}
|
||||
const x = t0;
|
||||
let t1;
|
||||
if ($[2] !== x || $[3] !== b) {
|
||||
if ($[2] !== b || $[3] !== x) {
|
||||
t1 = x.foo(b);
|
||||
$[2] = x;
|
||||
$[3] = b;
|
||||
$[2] = b;
|
||||
$[3] = x;
|
||||
$[4] = t1;
|
||||
} else {
|
||||
t1 = $[4];
|
||||
|
||||
+5
-5
@@ -73,8 +73,8 @@ import { identity, mutate } from "shared-runtime";
|
||||
function useFoo(t0) {
|
||||
const $ = _c(4);
|
||||
const { a, b } = t0;
|
||||
let z;
|
||||
let y;
|
||||
let z;
|
||||
if ($[0] !== a || $[1] !== b) {
|
||||
const x = { a };
|
||||
y = {};
|
||||
@@ -83,11 +83,11 @@ function useFoo(t0) {
|
||||
mutate(y);
|
||||
$[0] = a;
|
||||
$[1] = b;
|
||||
$[2] = z;
|
||||
$[3] = y;
|
||||
$[2] = y;
|
||||
$[3] = z;
|
||||
} else {
|
||||
z = $[2];
|
||||
y = $[3];
|
||||
y = $[2];
|
||||
z = $[3];
|
||||
}
|
||||
if (z[0] !== y) {
|
||||
throw new Error("oh no!");
|
||||
|
||||
+3
-3
@@ -40,7 +40,7 @@ function useHook(t0) {
|
||||
const { value } = t0;
|
||||
const [state] = useState(false);
|
||||
let t1;
|
||||
if ($[0] !== value || $[1] !== state) {
|
||||
if ($[0] !== state || $[1] !== value) {
|
||||
t1 = {
|
||||
getX() {
|
||||
return {
|
||||
@@ -52,8 +52,8 @@ function useHook(t0) {
|
||||
};
|
||||
},
|
||||
};
|
||||
$[0] = value;
|
||||
$[1] = state;
|
||||
$[0] = state;
|
||||
$[1] = value;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
|
||||
+3
-3
@@ -63,10 +63,10 @@ function Component(t0) {
|
||||
t4 = $[3];
|
||||
}
|
||||
let t5;
|
||||
if ($[4] !== t4 || $[5] !== data) {
|
||||
if ($[4] !== data || $[5] !== t4) {
|
||||
t5 = <ValidateMemoization inputs={t4} output={data} />;
|
||||
$[4] = t4;
|
||||
$[5] = data;
|
||||
$[4] = data;
|
||||
$[5] = t4;
|
||||
$[6] = t5;
|
||||
} else {
|
||||
t5 = $[6];
|
||||
|
||||
+3
-3
@@ -45,10 +45,10 @@ function Component(props) {
|
||||
t1 = $[3];
|
||||
}
|
||||
let t2;
|
||||
if ($[4] !== t1 || $[5] !== data) {
|
||||
if ($[4] !== data || $[5] !== t1) {
|
||||
t2 = <ValidateMemoization inputs={t1} output={data} />;
|
||||
$[4] = t1;
|
||||
$[5] = data;
|
||||
$[4] = data;
|
||||
$[5] = t1;
|
||||
$[6] = t2;
|
||||
} else {
|
||||
t2 = $[6];
|
||||
|
||||
+3
-3
@@ -60,10 +60,10 @@ function Component(t0) {
|
||||
t3 = $[3];
|
||||
}
|
||||
let t4;
|
||||
if ($[4] !== t3 || $[5] !== data) {
|
||||
if ($[4] !== data || $[5] !== t3) {
|
||||
t4 = <ValidateMemoization inputs={t3} output={data} />;
|
||||
$[4] = t3;
|
||||
$[5] = data;
|
||||
$[4] = data;
|
||||
$[5] = t3;
|
||||
$[6] = t4;
|
||||
} else {
|
||||
t4 = $[6];
|
||||
|
||||
+6
-6
@@ -48,19 +48,19 @@ function Component(props) {
|
||||
|
||||
const t1 = props?.items;
|
||||
let t2;
|
||||
if ($[3] !== t1 || $[4] !== props.cond) {
|
||||
if ($[3] !== props.cond || $[4] !== t1) {
|
||||
t2 = [t1, props.cond];
|
||||
$[3] = t1;
|
||||
$[4] = props.cond;
|
||||
$[3] = props.cond;
|
||||
$[4] = t1;
|
||||
$[5] = t2;
|
||||
} else {
|
||||
t2 = $[5];
|
||||
}
|
||||
let t3;
|
||||
if ($[6] !== t2 || $[7] !== data) {
|
||||
if ($[6] !== data || $[7] !== t2) {
|
||||
t3 = <ValidateMemoization inputs={t2} output={data} />;
|
||||
$[6] = t2;
|
||||
$[7] = data;
|
||||
$[6] = data;
|
||||
$[7] = t2;
|
||||
$[8] = t3;
|
||||
} else {
|
||||
t3 = $[8];
|
||||
|
||||
+6
-6
@@ -48,19 +48,19 @@ function Component(props) {
|
||||
|
||||
const t1 = props?.items;
|
||||
let t2;
|
||||
if ($[3] !== t1 || $[4] !== props.cond) {
|
||||
if ($[3] !== props.cond || $[4] !== t1) {
|
||||
t2 = [t1, props.cond];
|
||||
$[3] = t1;
|
||||
$[4] = props.cond;
|
||||
$[3] = props.cond;
|
||||
$[4] = t1;
|
||||
$[5] = t2;
|
||||
} else {
|
||||
t2 = $[5];
|
||||
}
|
||||
let t3;
|
||||
if ($[6] !== t2 || $[7] !== data) {
|
||||
if ($[6] !== data || $[7] !== t2) {
|
||||
t3 = <ValidateMemoization inputs={t2} output={data} />;
|
||||
$[6] = t2;
|
||||
$[7] = data;
|
||||
$[6] = data;
|
||||
$[7] = t2;
|
||||
$[8] = t3;
|
||||
} else {
|
||||
t3 = $[8];
|
||||
|
||||
+5
-5
@@ -31,8 +31,8 @@ export const FIXTURE_ENTRYPOINT = {
|
||||
import { c as _c } from "react/compiler-runtime";
|
||||
function Component(props) {
|
||||
const $ = _c(4);
|
||||
let y;
|
||||
let t0;
|
||||
let y;
|
||||
if ($[0] !== props) {
|
||||
t0 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
@@ -57,11 +57,11 @@ function Component(props) {
|
||||
}
|
||||
}
|
||||
$[0] = props;
|
||||
$[1] = y;
|
||||
$[2] = t0;
|
||||
$[1] = t0;
|
||||
$[2] = y;
|
||||
} else {
|
||||
y = $[1];
|
||||
t0 = $[2];
|
||||
t0 = $[1];
|
||||
y = $[2];
|
||||
}
|
||||
if (t0 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t0;
|
||||
|
||||
+4
-4
@@ -40,7 +40,7 @@ function useFoo(minWidth, otherProp) {
|
||||
const $ = _c(7);
|
||||
const [width] = useState(1);
|
||||
let t0;
|
||||
if ($[0] !== width || $[1] !== minWidth || $[2] !== otherProp) {
|
||||
if ($[0] !== minWidth || $[1] !== otherProp || $[2] !== width) {
|
||||
const x = [];
|
||||
let t1;
|
||||
if ($[4] !== minWidth || $[5] !== width) {
|
||||
@@ -55,9 +55,9 @@ function useFoo(minWidth, otherProp) {
|
||||
|
||||
arrayPush(x, otherProp);
|
||||
t0 = [style, x];
|
||||
$[0] = width;
|
||||
$[1] = minWidth;
|
||||
$[2] = otherProp;
|
||||
$[0] = minWidth;
|
||||
$[1] = otherProp;
|
||||
$[2] = width;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[3];
|
||||
|
||||
+8
-8
@@ -42,9 +42,9 @@ import { Stringify } from "shared-runtime";
|
||||
function Foo(t0) {
|
||||
const $ = _c(8);
|
||||
const { arr1, arr2, foo } = t0;
|
||||
let t1;
|
||||
let getVal1;
|
||||
if ($[0] !== arr1 || $[1] !== foo || $[2] !== arr2) {
|
||||
let t1;
|
||||
if ($[0] !== arr1 || $[1] !== arr2 || $[2] !== foo) {
|
||||
const x = [arr1];
|
||||
|
||||
let y;
|
||||
@@ -55,13 +55,13 @@ function Foo(t0) {
|
||||
t1 = () => [y];
|
||||
foo ? (y = x.concat(arr2)) : y;
|
||||
$[0] = arr1;
|
||||
$[1] = foo;
|
||||
$[2] = arr2;
|
||||
$[3] = t1;
|
||||
$[4] = getVal1;
|
||||
$[1] = arr2;
|
||||
$[2] = foo;
|
||||
$[3] = getVal1;
|
||||
$[4] = t1;
|
||||
} else {
|
||||
t1 = $[3];
|
||||
getVal1 = $[4];
|
||||
getVal1 = $[3];
|
||||
t1 = $[4];
|
||||
}
|
||||
const getVal2 = t1;
|
||||
let t2;
|
||||
|
||||
+3
-3
@@ -44,10 +44,10 @@ function Component(t0) {
|
||||
t3 = $[1];
|
||||
}
|
||||
let t4;
|
||||
if ($[2] !== t3 || $[3] !== propA) {
|
||||
if ($[2] !== propA || $[3] !== t3) {
|
||||
t4 = { value: t3, other: propA };
|
||||
$[2] = t3;
|
||||
$[3] = propA;
|
||||
$[2] = propA;
|
||||
$[3] = t3;
|
||||
$[4] = t4;
|
||||
} else {
|
||||
t4 = $[4];
|
||||
|
||||
+3
-3
@@ -34,10 +34,10 @@ function Component(t0) {
|
||||
|
||||
const t2 = propB?.x.y;
|
||||
let t3;
|
||||
if ($[0] !== t2 || $[1] !== propA) {
|
||||
if ($[0] !== propA || $[1] !== t2) {
|
||||
t3 = { value: t2, other: propA };
|
||||
$[0] = t2;
|
||||
$[1] = propA;
|
||||
$[0] = propA;
|
||||
$[1] = t2;
|
||||
$[2] = t3;
|
||||
} else {
|
||||
t3 = $[2];
|
||||
|
||||
+4
-4
@@ -40,7 +40,7 @@ function useFoo(minWidth, otherProp) {
|
||||
const $ = _c(6);
|
||||
const [width] = useState(1);
|
||||
let t0;
|
||||
if ($[0] !== width || $[1] !== minWidth || $[2] !== otherProp) {
|
||||
if ($[0] !== minWidth || $[1] !== otherProp || $[2] !== width) {
|
||||
const x = [];
|
||||
let t1;
|
||||
|
||||
@@ -58,9 +58,9 @@ function useFoo(minWidth, otherProp) {
|
||||
|
||||
arrayPush(x, otherProp);
|
||||
t0 = [style, x];
|
||||
$[0] = width;
|
||||
$[1] = minWidth;
|
||||
$[2] = otherProp;
|
||||
$[0] = minWidth;
|
||||
$[1] = otherProp;
|
||||
$[2] = width;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[3];
|
||||
|
||||
+3
-3
@@ -44,7 +44,7 @@ function Foo(t0) {
|
||||
const { arr1, arr2, foo } = t0;
|
||||
let t1;
|
||||
let val1;
|
||||
if ($[0] !== arr1 || $[1] !== foo || $[2] !== arr2) {
|
||||
if ($[0] !== arr1 || $[1] !== arr2 || $[2] !== foo) {
|
||||
const x = [arr1];
|
||||
|
||||
let y;
|
||||
@@ -63,8 +63,8 @@ function Foo(t0) {
|
||||
foo ? (y = x.concat(arr2)) : y;
|
||||
t1 = (() => [y])();
|
||||
$[0] = arr1;
|
||||
$[1] = foo;
|
||||
$[2] = arr2;
|
||||
$[1] = arr2;
|
||||
$[2] = foo;
|
||||
$[3] = t1;
|
||||
$[4] = val1;
|
||||
} else {
|
||||
|
||||
+3
-3
@@ -49,7 +49,7 @@ import { identity, mutate, setProperty } from "shared-runtime";
|
||||
function PrimitiveAsDepNested(props) {
|
||||
const $ = _c(5);
|
||||
let t0;
|
||||
if ($[0] !== props.b || $[1] !== props.a) {
|
||||
if ($[0] !== props.a || $[1] !== props.b) {
|
||||
const x = {};
|
||||
mutate(x);
|
||||
const t1 = props.b + 1;
|
||||
@@ -64,8 +64,8 @@ function PrimitiveAsDepNested(props) {
|
||||
const y = t2;
|
||||
setProperty(x, props.a);
|
||||
t0 = [x, y];
|
||||
$[0] = props.b;
|
||||
$[1] = props.a;
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
|
||||
+4
-4
@@ -32,15 +32,15 @@ function Component(t0) {
|
||||
const $ = _c(5);
|
||||
const { base, start, increment, test } = t0;
|
||||
let value;
|
||||
if ($[0] !== base || $[1] !== start || $[2] !== test || $[3] !== increment) {
|
||||
if ($[0] !== base || $[1] !== increment || $[2] !== start || $[3] !== test) {
|
||||
value = base;
|
||||
for (let i = start; i < test; i = i + increment, i) {
|
||||
value = value + i;
|
||||
}
|
||||
$[0] = base;
|
||||
$[1] = start;
|
||||
$[2] = test;
|
||||
$[3] = increment;
|
||||
$[1] = increment;
|
||||
$[2] = start;
|
||||
$[3] = test;
|
||||
$[4] = value;
|
||||
} else {
|
||||
value = $[4];
|
||||
|
||||
+4
-4
@@ -34,7 +34,7 @@ import { c as _c } from "react/compiler-runtime"; // @enablePropagateDepsInHIR
|
||||
function Component(props) {
|
||||
const $ = _c(7);
|
||||
let t0;
|
||||
if ($[0] !== props.cond || $[1] !== props.a || $[2] !== props.b) {
|
||||
if ($[0] !== props.a || $[1] !== props.b || $[2] !== props.cond) {
|
||||
t0 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
const x = [];
|
||||
@@ -69,9 +69,9 @@ function Component(props) {
|
||||
break bb0;
|
||||
}
|
||||
}
|
||||
$[0] = props.cond;
|
||||
$[1] = props.a;
|
||||
$[2] = props.b;
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = props.cond;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[3];
|
||||
|
||||
+4
-4
@@ -48,7 +48,7 @@ import { makeArray } from "shared-runtime";
|
||||
function Component(props) {
|
||||
const $ = _c(6);
|
||||
let t0;
|
||||
if ($[0] !== props.cond || $[1] !== props.a || $[2] !== props.b) {
|
||||
if ($[0] !== props.a || $[1] !== props.b || $[2] !== props.cond) {
|
||||
t0 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
const x = [];
|
||||
@@ -69,9 +69,9 @@ function Component(props) {
|
||||
break bb0;
|
||||
}
|
||||
}
|
||||
$[0] = props.cond;
|
||||
$[1] = props.a;
|
||||
$[2] = props.b;
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = props.cond;
|
||||
$[3] = t0;
|
||||
} else {
|
||||
t0 = $[3];
|
||||
|
||||
+3
-3
@@ -29,7 +29,7 @@ import { c as _c } from "react/compiler-runtime"; // @enablePropagateDepsInHIR
|
||||
function Component(props) {
|
||||
const $ = _c(3);
|
||||
let items;
|
||||
if ($[0] !== props.cond || $[1] !== props.a) {
|
||||
if ($[0] !== props.a || $[1] !== props.cond) {
|
||||
let t0;
|
||||
if (props.cond) {
|
||||
t0 = [];
|
||||
@@ -39,8 +39,8 @@ function Component(props) {
|
||||
items = t0;
|
||||
|
||||
items?.push(props.a);
|
||||
$[0] = props.cond;
|
||||
$[1] = props.a;
|
||||
$[0] = props.a;
|
||||
$[1] = props.cond;
|
||||
$[2] = items;
|
||||
} else {
|
||||
items = $[2];
|
||||
|
||||
+3
-3
@@ -63,10 +63,10 @@ function Component(t0) {
|
||||
t4 = $[3];
|
||||
}
|
||||
let t5;
|
||||
if ($[4] !== t4 || $[5] !== data) {
|
||||
if ($[4] !== data || $[5] !== t4) {
|
||||
t5 = <ValidateMemoization inputs={t4} output={data} />;
|
||||
$[4] = t4;
|
||||
$[5] = data;
|
||||
$[4] = data;
|
||||
$[5] = t4;
|
||||
$[6] = t5;
|
||||
} else {
|
||||
t5 = $[6];
|
||||
|
||||
+3
-3
@@ -45,10 +45,10 @@ function Component(props) {
|
||||
t1 = $[3];
|
||||
}
|
||||
let t2;
|
||||
if ($[4] !== t1 || $[5] !== data) {
|
||||
if ($[4] !== data || $[5] !== t1) {
|
||||
t2 = <ValidateMemoization inputs={t1} output={data} />;
|
||||
$[4] = t1;
|
||||
$[5] = data;
|
||||
$[4] = data;
|
||||
$[5] = t1;
|
||||
$[6] = t2;
|
||||
} else {
|
||||
t2 = $[6];
|
||||
|
||||
+3
-3
@@ -60,10 +60,10 @@ function Component(t0) {
|
||||
t3 = $[3];
|
||||
}
|
||||
let t4;
|
||||
if ($[4] !== t3 || $[5] !== data) {
|
||||
if ($[4] !== data || $[5] !== t3) {
|
||||
t4 = <ValidateMemoization inputs={t3} output={data} />;
|
||||
$[4] = t3;
|
||||
$[5] = data;
|
||||
$[4] = data;
|
||||
$[5] = t3;
|
||||
$[6] = t4;
|
||||
} else {
|
||||
t4 = $[6];
|
||||
|
||||
+9
-9
@@ -32,9 +32,9 @@ export const FIXTURE_ENTRYPOINT = {
|
||||
import { c as _c } from "react/compiler-runtime"; // @enablePropagateDepsInHIR
|
||||
function Component(props) {
|
||||
const $ = _c(6);
|
||||
let y;
|
||||
let t0;
|
||||
if ($[0] !== props.cond || $[1] !== props.a || $[2] !== props.b) {
|
||||
let y;
|
||||
if ($[0] !== props.a || $[1] !== props.b || $[2] !== props.cond) {
|
||||
t0 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
const x = [];
|
||||
@@ -57,14 +57,14 @@ function Component(props) {
|
||||
}
|
||||
}
|
||||
}
|
||||
$[0] = props.cond;
|
||||
$[1] = props.a;
|
||||
$[2] = props.b;
|
||||
$[3] = y;
|
||||
$[4] = t0;
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = props.cond;
|
||||
$[3] = t0;
|
||||
$[4] = y;
|
||||
} else {
|
||||
y = $[3];
|
||||
t0 = $[4];
|
||||
t0 = $[3];
|
||||
y = $[4];
|
||||
}
|
||||
if (t0 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t0;
|
||||
|
||||
+3
-3
@@ -42,7 +42,7 @@ function Component(props) {
|
||||
}
|
||||
const x = t0;
|
||||
let t1;
|
||||
if ($[1] !== props.cond || $[2] !== props.a) {
|
||||
if ($[1] !== props.a || $[2] !== props.cond) {
|
||||
let y;
|
||||
if (props.cond) {
|
||||
y = {};
|
||||
@@ -53,8 +53,8 @@ function Component(props) {
|
||||
y.x = x;
|
||||
|
||||
t1 = [x, y];
|
||||
$[1] = props.cond;
|
||||
$[2] = props.a;
|
||||
$[1] = props.a;
|
||||
$[2] = props.cond;
|
||||
$[3] = t1;
|
||||
} else {
|
||||
t1 = $[3];
|
||||
|
||||
+3
-3
@@ -58,7 +58,7 @@ function useFoo(t0) {
|
||||
local = $[1];
|
||||
}
|
||||
let t1;
|
||||
if ($[2] !== shouldReadA || $[3] !== local) {
|
||||
if ($[2] !== local || $[3] !== shouldReadA) {
|
||||
t1 = (
|
||||
<Stringify
|
||||
fn={() => {
|
||||
@@ -70,8 +70,8 @@ function useFoo(t0) {
|
||||
shouldInvokeFns={true}
|
||||
/>
|
||||
);
|
||||
$[2] = shouldReadA;
|
||||
$[3] = local;
|
||||
$[2] = local;
|
||||
$[3] = shouldReadA;
|
||||
$[4] = t1;
|
||||
} else {
|
||||
t1 = $[4];
|
||||
|
||||
+3
-3
@@ -41,7 +41,7 @@ function Foo(t0) {
|
||||
const $ = _c(3);
|
||||
const { a, shouldReadA } = t0;
|
||||
let t1;
|
||||
if ($[0] !== shouldReadA || $[1] !== a) {
|
||||
if ($[0] !== a || $[1] !== shouldReadA) {
|
||||
t1 = (
|
||||
<Stringify
|
||||
fn={() => {
|
||||
@@ -53,8 +53,8 @@ function Foo(t0) {
|
||||
shouldInvokeFns={true}
|
||||
/>
|
||||
);
|
||||
$[0] = shouldReadA;
|
||||
$[1] = a;
|
||||
$[0] = a;
|
||||
$[1] = shouldReadA;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
|
||||
+3
-3
@@ -51,13 +51,13 @@ function Foo(t0) {
|
||||
const fn = t1;
|
||||
useIdentity(null);
|
||||
let x;
|
||||
if ($[2] !== cond || $[3] !== a.b.c) {
|
||||
if ($[2] !== a.b.c || $[3] !== cond) {
|
||||
x = makeArray();
|
||||
if (cond) {
|
||||
x.push(identity(a.b.c));
|
||||
}
|
||||
$[2] = cond;
|
||||
$[3] = a.b.c;
|
||||
$[2] = a.b.c;
|
||||
$[3] = cond;
|
||||
$[4] = x;
|
||||
} else {
|
||||
x = $[4];
|
||||
|
||||
+6
-6
@@ -50,22 +50,22 @@ function Foo(t0) {
|
||||
const fn = t1;
|
||||
useIdentity(null);
|
||||
let arr;
|
||||
if ($[2] !== cond || $[3] !== a.b?.c.e) {
|
||||
if ($[2] !== a.b?.c.e || $[3] !== cond) {
|
||||
arr = makeArray();
|
||||
if (cond) {
|
||||
arr.push(identity(a.b?.c.e));
|
||||
}
|
||||
$[2] = cond;
|
||||
$[3] = a.b?.c.e;
|
||||
$[2] = a.b?.c.e;
|
||||
$[3] = cond;
|
||||
$[4] = arr;
|
||||
} else {
|
||||
arr = $[4];
|
||||
}
|
||||
let t2;
|
||||
if ($[5] !== fn || $[6] !== arr) {
|
||||
if ($[5] !== arr || $[6] !== fn) {
|
||||
t2 = <Stringify fn={fn} arr={arr} shouldInvokeFns={true} />;
|
||||
$[5] = fn;
|
||||
$[6] = arr;
|
||||
$[5] = arr;
|
||||
$[6] = fn;
|
||||
$[7] = t2;
|
||||
} else {
|
||||
t2 = $[7];
|
||||
|
||||
+3
-3
@@ -24,7 +24,7 @@ import { c as _c } from "react/compiler-runtime"; // @enablePropagateDepsInHIR
|
||||
function Component(props) {
|
||||
const $ = _c(5);
|
||||
let x;
|
||||
if ($[0] !== props.items?.length || $[1] !== props.items?.edges) {
|
||||
if ($[0] !== props.items?.edges || $[1] !== props.items?.length) {
|
||||
x = [];
|
||||
x.push(props.items?.length);
|
||||
let t0;
|
||||
@@ -36,8 +36,8 @@ function Component(props) {
|
||||
t0 = $[4];
|
||||
}
|
||||
x.push(t0);
|
||||
$[0] = props.items?.length;
|
||||
$[1] = props.items?.edges;
|
||||
$[0] = props.items?.edges;
|
||||
$[1] = props.items?.length;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+4
-4
@@ -38,15 +38,15 @@ import { identity } from "shared-runtime";
|
||||
function usePromoteUnconditionalAccessToDependency(props, other) {
|
||||
const $ = _c(4);
|
||||
let x;
|
||||
if ($[0] !== props.a.a.a || $[1] !== props.a.b || $[2] !== other) {
|
||||
if ($[0] !== other || $[1] !== props.a.a.a || $[2] !== props.a.b) {
|
||||
x = {};
|
||||
x.a = props.a.a.a;
|
||||
if (identity(other)) {
|
||||
x.c = props.a.b.c;
|
||||
}
|
||||
$[0] = props.a.a.a;
|
||||
$[1] = props.a.b;
|
||||
$[2] = other;
|
||||
$[0] = other;
|
||||
$[1] = props.a.a.a;
|
||||
$[2] = props.a.b;
|
||||
$[3] = x;
|
||||
} else {
|
||||
x = $[3];
|
||||
|
||||
+4
-4
@@ -39,11 +39,11 @@ function useFoo(props) {
|
||||
} else {
|
||||
x = $[1];
|
||||
}
|
||||
if ($[2] !== props.cond || $[3] !== props.foo || $[4] !== props.bar) {
|
||||
if ($[2] !== props.bar || $[3] !== props.cond || $[4] !== props.foo) {
|
||||
props.cond ? ((x = []), x.push(props.foo)) : ((x = []), x.push(props.bar));
|
||||
$[2] = props.cond;
|
||||
$[3] = props.foo;
|
||||
$[4] = props.bar;
|
||||
$[2] = props.bar;
|
||||
$[3] = props.cond;
|
||||
$[4] = props.foo;
|
||||
$[5] = x;
|
||||
} else {
|
||||
x = $[5];
|
||||
|
||||
+8
-8
@@ -35,8 +35,8 @@ function Component(props) {
|
||||
import { c as _c } from "react/compiler-runtime"; // @enablePropagateDepsInHIR
|
||||
function Component(props) {
|
||||
const $ = _c(8);
|
||||
let y;
|
||||
let t0;
|
||||
let y;
|
||||
if ($[0] !== props.p0 || $[1] !== props.p2) {
|
||||
const x = [];
|
||||
bb0: switch (props.p0) {
|
||||
@@ -65,19 +65,19 @@ function Component(props) {
|
||||
t0 = <Component data={x} />;
|
||||
$[0] = props.p0;
|
||||
$[1] = props.p2;
|
||||
$[2] = y;
|
||||
$[3] = t0;
|
||||
$[2] = t0;
|
||||
$[3] = y;
|
||||
} else {
|
||||
y = $[2];
|
||||
t0 = $[3];
|
||||
t0 = $[2];
|
||||
y = $[3];
|
||||
}
|
||||
const child = t0;
|
||||
y.push(props.p4);
|
||||
let t1;
|
||||
if ($[5] !== y || $[6] !== child) {
|
||||
if ($[5] !== child || $[6] !== y) {
|
||||
t1 = <Component data={y}>{child}</Component>;
|
||||
$[5] = y;
|
||||
$[6] = child;
|
||||
$[5] = child;
|
||||
$[6] = y;
|
||||
$[7] = t1;
|
||||
} else {
|
||||
t1 = $[7];
|
||||
|
||||
+8
-8
@@ -30,8 +30,8 @@ function Component(props) {
|
||||
import { c as _c } from "react/compiler-runtime"; // @enablePropagateDepsInHIR
|
||||
function Component(props) {
|
||||
const $ = _c(8);
|
||||
let y;
|
||||
let t0;
|
||||
let y;
|
||||
if ($[0] !== props.p0 || $[1] !== props.p2 || $[2] !== props.p3) {
|
||||
const x = [];
|
||||
switch (props.p0) {
|
||||
@@ -48,19 +48,19 @@ function Component(props) {
|
||||
$[0] = props.p0;
|
||||
$[1] = props.p2;
|
||||
$[2] = props.p3;
|
||||
$[3] = y;
|
||||
$[4] = t0;
|
||||
$[3] = t0;
|
||||
$[4] = y;
|
||||
} else {
|
||||
y = $[3];
|
||||
t0 = $[4];
|
||||
t0 = $[3];
|
||||
y = $[4];
|
||||
}
|
||||
const child = t0;
|
||||
y.push(props.p4);
|
||||
let t1;
|
||||
if ($[5] !== y || $[6] !== child) {
|
||||
if ($[5] !== child || $[6] !== y) {
|
||||
t1 = <Component data={y}>{child}</Component>;
|
||||
$[5] = y;
|
||||
$[6] = child;
|
||||
$[5] = child;
|
||||
$[6] = y;
|
||||
$[7] = t1;
|
||||
} else {
|
||||
t1 = $[7];
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ const { throwInput } = require("shared-runtime");
|
||||
function Component(props) {
|
||||
const $ = _c(3);
|
||||
let x;
|
||||
if ($[0] !== props.y || $[1] !== props.e) {
|
||||
if ($[0] !== props.e || $[1] !== props.y) {
|
||||
try {
|
||||
const y = [];
|
||||
y.push(props.y);
|
||||
@@ -44,8 +44,8 @@ function Component(props) {
|
||||
e.push(props.e);
|
||||
x = e;
|
||||
}
|
||||
$[0] = props.y;
|
||||
$[1] = props.e;
|
||||
$[0] = props.e;
|
||||
$[1] = props.y;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+3
-3
@@ -33,7 +33,7 @@ const { throwInput } = require("shared-runtime");
|
||||
function Component(props) {
|
||||
const $ = _c(3);
|
||||
let t0;
|
||||
if ($[0] !== props.y || $[1] !== props.e) {
|
||||
if ($[0] !== props.e || $[1] !== props.y) {
|
||||
t0 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
try {
|
||||
@@ -47,8 +47,8 @@ function Component(props) {
|
||||
break bb0;
|
||||
}
|
||||
}
|
||||
$[0] = props.y;
|
||||
$[1] = props.e;
|
||||
$[0] = props.e;
|
||||
$[1] = props.y;
|
||||
$[2] = t0;
|
||||
} else {
|
||||
t0 = $[2];
|
||||
|
||||
+8
-8
@@ -39,10 +39,10 @@ function Component(props) {
|
||||
bb0: {
|
||||
let y;
|
||||
if (
|
||||
$[0] !== props.cond ||
|
||||
$[1] !== props.a ||
|
||||
$[2] !== props.cond2 ||
|
||||
$[3] !== props.b
|
||||
$[0] !== props.a ||
|
||||
$[1] !== props.b ||
|
||||
$[2] !== props.cond ||
|
||||
$[3] !== props.cond2
|
||||
) {
|
||||
y = [];
|
||||
if (props.cond) {
|
||||
@@ -54,10 +54,10 @@ function Component(props) {
|
||||
}
|
||||
|
||||
y.push(props.b);
|
||||
$[0] = props.cond;
|
||||
$[1] = props.a;
|
||||
$[2] = props.cond2;
|
||||
$[3] = props.b;
|
||||
$[0] = props.a;
|
||||
$[1] = props.b;
|
||||
$[2] = props.cond;
|
||||
$[3] = props.cond2;
|
||||
$[4] = y;
|
||||
$[5] = t0;
|
||||
} else {
|
||||
|
||||
+3
-3
@@ -54,10 +54,10 @@ function Component(props) {
|
||||
}
|
||||
const c = t0;
|
||||
let t1;
|
||||
if ($[3] !== c || $[4] !== a) {
|
||||
if ($[3] !== a || $[4] !== c) {
|
||||
t1 = [c, a];
|
||||
$[3] = c;
|
||||
$[4] = a;
|
||||
$[3] = a;
|
||||
$[4] = c;
|
||||
$[5] = t1;
|
||||
} else {
|
||||
t1 = $[5];
|
||||
|
||||
+6
-6
@@ -20,11 +20,11 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function Component(props) {
|
||||
const $ = _c(8);
|
||||
let items;
|
||||
if ($[0] !== props.key || $[1] !== props.a) {
|
||||
if ($[0] !== props.a || $[1] !== props.key) {
|
||||
items = bar();
|
||||
mutate(items[props.key], props.a);
|
||||
$[0] = props.key;
|
||||
$[1] = props.a;
|
||||
$[0] = props.a;
|
||||
$[1] = props.key;
|
||||
$[2] = items;
|
||||
} else {
|
||||
items = $[2];
|
||||
@@ -41,10 +41,10 @@ function Component(props) {
|
||||
}
|
||||
const count = t1;
|
||||
let t2;
|
||||
if ($[5] !== items || $[6] !== count) {
|
||||
if ($[5] !== count || $[6] !== items) {
|
||||
t2 = { items, count };
|
||||
$[5] = items;
|
||||
$[6] = count;
|
||||
$[5] = count;
|
||||
$[6] = items;
|
||||
$[7] = t2;
|
||||
} else {
|
||||
t2 = $[7];
|
||||
|
||||
+3
-3
@@ -40,10 +40,10 @@ function Component(props) {
|
||||
}
|
||||
const count = t1;
|
||||
let t2;
|
||||
if ($[4] !== items || $[5] !== count) {
|
||||
if ($[4] !== count || $[5] !== items) {
|
||||
t2 = { items, count };
|
||||
$[4] = items;
|
||||
$[5] = count;
|
||||
$[4] = count;
|
||||
$[5] = items;
|
||||
$[6] = t2;
|
||||
} else {
|
||||
t2 = $[6];
|
||||
|
||||
+8
-8
@@ -42,8 +42,8 @@ export const FIXTURE_ENTRYPOINT = {
|
||||
import { c as _c } from "react/compiler-runtime";
|
||||
function foo(a, b, c) {
|
||||
const $ = _c(10);
|
||||
let x;
|
||||
let t0;
|
||||
let x;
|
||||
if ($[0] !== a) {
|
||||
x = [];
|
||||
if (a) {
|
||||
@@ -52,11 +52,11 @@ function foo(a, b, c) {
|
||||
|
||||
t0 = <div>{x}</div>;
|
||||
$[0] = a;
|
||||
$[1] = x;
|
||||
$[2] = t0;
|
||||
$[1] = t0;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[1];
|
||||
t0 = $[2];
|
||||
t0 = $[1];
|
||||
x = $[2];
|
||||
}
|
||||
const y = t0;
|
||||
bb0: switch (b) {
|
||||
@@ -83,15 +83,15 @@ function foo(a, b, c) {
|
||||
}
|
||||
}
|
||||
let t1;
|
||||
if ($[7] !== y || $[8] !== x) {
|
||||
if ($[7] !== x || $[8] !== y) {
|
||||
t1 = (
|
||||
<div>
|
||||
{y}
|
||||
{x}
|
||||
</div>
|
||||
);
|
||||
$[7] = y;
|
||||
$[8] = x;
|
||||
$[7] = x;
|
||||
$[8] = y;
|
||||
$[9] = t1;
|
||||
} else {
|
||||
t1 = $[9];
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ function useFoo(t0) {
|
||||
const $ = _c(3);
|
||||
const { obj, objIsNull } = t0;
|
||||
let x;
|
||||
if ($[0] !== objIsNull || $[1] !== obj) {
|
||||
if ($[0] !== obj || $[1] !== objIsNull) {
|
||||
x = [];
|
||||
bb0: {
|
||||
if (objIsNull) {
|
||||
@@ -45,8 +45,8 @@ function useFoo(t0) {
|
||||
|
||||
x.push(obj.b);
|
||||
}
|
||||
$[0] = objIsNull;
|
||||
$[1] = obj;
|
||||
$[0] = obj;
|
||||
$[1] = objIsNull;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+8
-8
@@ -31,9 +31,9 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function useFoo(t0) {
|
||||
const $ = _c(4);
|
||||
const { obj, objIsNull } = t0;
|
||||
let x;
|
||||
let t1;
|
||||
if ($[0] !== objIsNull || $[1] !== obj) {
|
||||
let x;
|
||||
if ($[0] !== obj || $[1] !== objIsNull) {
|
||||
t1 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
x = [];
|
||||
@@ -46,13 +46,13 @@ function useFoo(t0) {
|
||||
|
||||
x.push(obj.b);
|
||||
}
|
||||
$[0] = objIsNull;
|
||||
$[1] = obj;
|
||||
$[2] = x;
|
||||
$[3] = t1;
|
||||
$[0] = obj;
|
||||
$[1] = objIsNull;
|
||||
$[2] = t1;
|
||||
$[3] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
t1 = $[3];
|
||||
t1 = $[2];
|
||||
x = $[3];
|
||||
}
|
||||
if (t1 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t1;
|
||||
|
||||
+3
-3
@@ -38,7 +38,7 @@ function Foo(t0) {
|
||||
const $ = _c(3);
|
||||
const { a, shouldReadA } = t0;
|
||||
let t1;
|
||||
if ($[0] !== shouldReadA || $[1] !== a.b.c) {
|
||||
if ($[0] !== a.b.c || $[1] !== shouldReadA) {
|
||||
t1 = (
|
||||
<Stringify
|
||||
fn={() => {
|
||||
@@ -50,8 +50,8 @@ function Foo(t0) {
|
||||
shouldInvokeFns={true}
|
||||
/>
|
||||
);
|
||||
$[0] = shouldReadA;
|
||||
$[1] = a.b.c;
|
||||
$[0] = a.b.c;
|
||||
$[1] = shouldReadA;
|
||||
$[2] = t1;
|
||||
} else {
|
||||
t1 = $[2];
|
||||
|
||||
+3
-3
@@ -80,10 +80,10 @@ function useFoo(t0) {
|
||||
x = $[6];
|
||||
}
|
||||
let t1;
|
||||
if ($[7] !== y || $[8] !== x.a.b) {
|
||||
if ($[7] !== x.a.b || $[8] !== y) {
|
||||
t1 = [y, x.a.b];
|
||||
$[7] = y;
|
||||
$[8] = x.a.b;
|
||||
$[7] = x.a.b;
|
||||
$[8] = y;
|
||||
$[9] = t1;
|
||||
} else {
|
||||
t1 = $[9];
|
||||
|
||||
+3
-3
@@ -36,7 +36,7 @@ function useFoo(t0) {
|
||||
const $ = _c(3);
|
||||
const { obj, objIsNull } = t0;
|
||||
let x;
|
||||
if ($[0] !== objIsNull || $[1] !== obj) {
|
||||
if ($[0] !== obj || $[1] !== objIsNull) {
|
||||
x = [];
|
||||
bb0: {
|
||||
if (objIsNull) {
|
||||
@@ -45,8 +45,8 @@ function useFoo(t0) {
|
||||
|
||||
x.push(obj.a);
|
||||
}
|
||||
$[0] = objIsNull;
|
||||
$[1] = obj;
|
||||
$[0] = obj;
|
||||
$[1] = objIsNull;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+3
-3
@@ -36,7 +36,7 @@ function useFoo(t0) {
|
||||
const $ = _c(3);
|
||||
const { obj, objIsNull } = t0;
|
||||
let x;
|
||||
if ($[0] !== objIsNull || $[1] !== obj) {
|
||||
if ($[0] !== obj || $[1] !== objIsNull) {
|
||||
x = [];
|
||||
for (let i = 0; i < 5; i++) {
|
||||
if (objIsNull) {
|
||||
@@ -45,8 +45,8 @@ function useFoo(t0) {
|
||||
|
||||
x.push(obj.a);
|
||||
}
|
||||
$[0] = objIsNull;
|
||||
$[1] = obj;
|
||||
$[0] = obj;
|
||||
$[1] = objIsNull;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+5
-5
@@ -42,8 +42,8 @@ import { identity } from "shared-runtime";
|
||||
function useFoo(t0) {
|
||||
const $ = _c(9);
|
||||
const { input, cond, hasAB } = t0;
|
||||
let x;
|
||||
let t1;
|
||||
let x;
|
||||
if ($[0] !== cond || $[1] !== hasAB || $[2] !== input) {
|
||||
t1 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
@@ -77,11 +77,11 @@ function useFoo(t0) {
|
||||
$[0] = cond;
|
||||
$[1] = hasAB;
|
||||
$[2] = input;
|
||||
$[3] = x;
|
||||
$[4] = t1;
|
||||
$[3] = t1;
|
||||
$[4] = x;
|
||||
} else {
|
||||
x = $[3];
|
||||
t1 = $[4];
|
||||
t1 = $[3];
|
||||
x = $[4];
|
||||
}
|
||||
if (t1 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t1;
|
||||
|
||||
+5
-5
@@ -43,8 +43,8 @@ import { identity } from "shared-runtime";
|
||||
function useFoo(t0) {
|
||||
const $ = _c(11);
|
||||
const { input, cond, hasAB } = t0;
|
||||
let x;
|
||||
let t1;
|
||||
let x;
|
||||
if ($[0] !== cond || $[1] !== hasAB || $[2] !== input) {
|
||||
t1 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
@@ -88,11 +88,11 @@ function useFoo(t0) {
|
||||
$[0] = cond;
|
||||
$[1] = hasAB;
|
||||
$[2] = input;
|
||||
$[3] = x;
|
||||
$[4] = t1;
|
||||
$[3] = t1;
|
||||
$[4] = x;
|
||||
} else {
|
||||
x = $[3];
|
||||
t1 = $[4];
|
||||
t1 = $[3];
|
||||
x = $[4];
|
||||
}
|
||||
if (t1 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t1;
|
||||
|
||||
+8
-8
@@ -33,9 +33,9 @@ import { c as _c } from "react/compiler-runtime";
|
||||
function useFoo(t0) {
|
||||
const $ = _c(4);
|
||||
const { obj, objIsNull } = t0;
|
||||
let x;
|
||||
let t1;
|
||||
if ($[0] !== objIsNull || $[1] !== obj) {
|
||||
let x;
|
||||
if ($[0] !== obj || $[1] !== objIsNull) {
|
||||
t1 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
x = [];
|
||||
@@ -46,13 +46,13 @@ function useFoo(t0) {
|
||||
|
||||
x.push(obj.b);
|
||||
}
|
||||
$[0] = objIsNull;
|
||||
$[1] = obj;
|
||||
$[2] = x;
|
||||
$[3] = t1;
|
||||
$[0] = obj;
|
||||
$[1] = objIsNull;
|
||||
$[2] = t1;
|
||||
$[3] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
t1 = $[3];
|
||||
t1 = $[2];
|
||||
x = $[3];
|
||||
}
|
||||
if (t1 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t1;
|
||||
|
||||
+5
-5
@@ -39,8 +39,8 @@ import { identity } from "shared-runtime";
|
||||
function useFoo(t0) {
|
||||
const $ = _c(6);
|
||||
const { input, cond } = t0;
|
||||
let x;
|
||||
let t1;
|
||||
let x;
|
||||
if ($[0] !== cond || $[1] !== input) {
|
||||
t1 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
@@ -61,11 +61,11 @@ function useFoo(t0) {
|
||||
}
|
||||
$[0] = cond;
|
||||
$[1] = input;
|
||||
$[2] = x;
|
||||
$[3] = t1;
|
||||
$[2] = t1;
|
||||
$[3] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
t1 = $[3];
|
||||
t1 = $[2];
|
||||
x = $[3];
|
||||
}
|
||||
if (t1 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t1;
|
||||
|
||||
+3
-3
@@ -40,7 +40,7 @@ function useFoo(t0) {
|
||||
const $ = _c(3);
|
||||
const { input, max } = t0;
|
||||
let x;
|
||||
if ($[0] !== max || $[1] !== input.a.b) {
|
||||
if ($[0] !== input.a.b || $[1] !== max) {
|
||||
x = [];
|
||||
let i = 0;
|
||||
while (true) {
|
||||
@@ -52,8 +52,8 @@ function useFoo(t0) {
|
||||
|
||||
x.push(i);
|
||||
x.push(input.a.b);
|
||||
$[0] = max;
|
||||
$[1] = input.a.b;
|
||||
$[0] = input.a.b;
|
||||
$[1] = max;
|
||||
$[2] = x;
|
||||
} else {
|
||||
x = $[2];
|
||||
|
||||
+5
-5
@@ -33,8 +33,8 @@ import { identity } from "shared-runtime";
|
||||
function useFoo(t0) {
|
||||
const $ = _c(9);
|
||||
const { input, hasAB, returnNull } = t0;
|
||||
let x;
|
||||
let t1;
|
||||
let x;
|
||||
if ($[0] !== hasAB || $[1] !== input.a || $[2] !== returnNull) {
|
||||
t1 = Symbol.for("react.early_return_sentinel");
|
||||
bb0: {
|
||||
@@ -68,11 +68,11 @@ function useFoo(t0) {
|
||||
$[0] = hasAB;
|
||||
$[1] = input.a;
|
||||
$[2] = returnNull;
|
||||
$[3] = x;
|
||||
$[4] = t1;
|
||||
$[3] = t1;
|
||||
$[4] = x;
|
||||
} else {
|
||||
x = $[3];
|
||||
t1 = $[4];
|
||||
t1 = $[3];
|
||||
x = $[4];
|
||||
}
|
||||
if (t1 !== Symbol.for("react.early_return_sentinel")) {
|
||||
return t1;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user