Commit 62a6b3d
committed
[compiler] Distinguish Alias/Assign effects
Alias was akward becuase it had a specific data flow / mutability relationship — direct mutations affect both sides - but also populated the output. We need the ability to express the aliasing dataflwo/mutability relationship w/o expressing actual assignment.
An example of this is that for an unknown method call `const z = x.y()`, we want to express the Alias-style mutability relationship btw z and x (Muate(z) => Mutate(x)), but we want to assume that `z !== x`.
This ends up being really clean, the places that should use Assign are very obvious (LoadLocal, StoreLocal) and most places keep using Alias.
ghstack-source-id: ae2b35b
Pull Request resolved: #333851 parent 109f884 commit 62a6b3d
File tree
7 files changed
+130
-43
lines changed- compiler/packages/babel-plugin-react-compiler/src
- HIR
- Inference
7 files changed
+130
-43
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
249 | | - | |
| 249 | + | |
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
| |||
Lines changed: 26 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
569 | 569 | | |
570 | 570 | | |
571 | 571 | | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
572 | 598 | | |
573 | 599 | | |
574 | 600 | | |
| |||
Lines changed: 6 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
948 | 948 | | |
949 | 949 | | |
950 | 950 | | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
951 | 954 | | |
952 | 955 | | |
953 | 956 | | |
| |||
963 | 966 | | |
964 | 967 | | |
965 | 968 | | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
966 | 972 | | |
967 | 973 | | |
968 | 974 | | |
| |||
988 | 994 | | |
989 | 995 | | |
990 | 996 | | |
991 | | - | |
992 | | - | |
993 | | - | |
994 | 997 | | |
995 | 998 | | |
996 | 999 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
Lines changed: 59 additions & 35 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
313 | 316 | | |
314 | 317 | | |
315 | 318 | | |
| |||
403 | 406 | | |
404 | 407 | | |
405 | 408 | | |
406 | | - | |
407 | 409 | | |
| 410 | + | |
408 | 411 | | |
409 | 412 | | |
410 | 413 | | |
| |||
446 | 449 | | |
447 | 450 | | |
448 | 451 | | |
| 452 | + | |
449 | 453 | | |
450 | 454 | | |
451 | 455 | | |
| |||
493 | 497 | | |
494 | 498 | | |
495 | 499 | | |
496 | | - | |
| 500 | + | |
497 | 501 | | |
498 | 502 | | |
499 | 503 | | |
| |||
549 | 553 | | |
550 | 554 | | |
551 | 555 | | |
552 | | - | |
553 | | - | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | 556 | | |
559 | 557 | | |
560 | 558 | | |
| |||
567 | 565 | | |
568 | 566 | | |
569 | 567 | | |
570 | | - | |
571 | | - | |
572 | | - | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
573 | 573 | | |
574 | 574 | | |
575 | 575 | | |
576 | 576 | | |
577 | 577 | | |
578 | 578 | | |
| 579 | + | |
579 | 580 | | |
580 | 581 | | |
581 | 582 | | |
| |||
680 | 681 | | |
681 | 682 | | |
682 | 683 | | |
683 | | - | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | 684 | | |
693 | 685 | | |
| 686 | + | |
694 | 687 | | |
695 | 688 | | |
696 | 689 | | |
| |||
713 | 706 | | |
714 | 707 | | |
715 | 708 | | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
716 | 713 | | |
717 | 714 | | |
718 | 715 | | |
| |||
1310 | 1307 | | |
1311 | 1308 | | |
1312 | 1309 | | |
1313 | | - | |
| 1310 | + | |
| 1311 | + | |
1314 | 1312 | | |
1315 | 1313 | | |
1316 | 1314 | | |
| |||
1479 | 1477 | | |
1480 | 1478 | | |
1481 | 1479 | | |
1482 | | - | |
| 1480 | + | |
1483 | 1481 | | |
1484 | 1482 | | |
1485 | 1483 | | |
1486 | | - | |
| 1484 | + | |
1487 | 1485 | | |
1488 | 1486 | | |
1489 | 1487 | | |
1490 | 1488 | | |
1491 | 1489 | | |
1492 | | - | |
| 1490 | + | |
1493 | 1491 | | |
1494 | 1492 | | |
1495 | 1493 | | |
1496 | | - | |
| 1494 | + | |
1497 | 1495 | | |
1498 | 1496 | | |
1499 | 1497 | | |
1500 | | - | |
| 1498 | + | |
1501 | 1499 | | |
1502 | 1500 | | |
1503 | 1501 | | |
1504 | 1502 | | |
1505 | | - | |
| 1503 | + | |
1506 | 1504 | | |
1507 | 1505 | | |
1508 | 1506 | | |
1509 | | - | |
| 1507 | + | |
1510 | 1508 | | |
1511 | 1509 | | |
1512 | 1510 | | |
| |||
1516 | 1514 | | |
1517 | 1515 | | |
1518 | 1516 | | |
1519 | | - | |
| 1517 | + | |
1520 | 1518 | | |
1521 | 1519 | | |
1522 | 1520 | | |
| |||
1772 | 1770 | | |
1773 | 1771 | | |
1774 | 1772 | | |
| 1773 | + | |
| 1774 | + | |
1775 | 1775 | | |
1776 | 1776 | | |
1777 | 1777 | | |
| |||
1816 | 1816 | | |
1817 | 1817 | | |
1818 | 1818 | | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
1819 | 1828 | | |
1820 | 1829 | | |
1821 | 1830 | | |
| |||
1825 | 1834 | | |
1826 | 1835 | | |
1827 | 1836 | | |
| 1837 | + | |
1828 | 1838 | | |
1829 | 1839 | | |
1830 | 1840 | | |
| |||
2068 | 2078 | | |
2069 | 2079 | | |
2070 | 2080 | | |
2071 | | - | |
2072 | | - | |
| 2081 | + | |
| 2082 | + | |
| 2083 | + | |
| 2084 | + | |
| 2085 | + | |
2073 | 2086 | | |
2074 | | - | |
2075 | | - | |
| 2087 | + | |
| 2088 | + | |
2076 | 2089 | | |
2077 | 2090 | | |
2078 | 2091 | | |
2079 | | - | |
2080 | | - | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
| 2098 | + | |
| 2099 | + | |
| 2100 | + | |
2081 | 2101 | | |
2082 | 2102 | | |
| 2103 | + | |
| 2104 | + | |
| 2105 | + | |
| 2106 | + | |
2083 | 2107 | | |
2084 | 2108 | | |
2085 | 2109 | | |
| |||
Lines changed: 30 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
9 | 16 | | |
10 | 17 | | |
11 | 18 | | |
| |||
59 | 66 | | |
60 | 67 | | |
61 | 68 | | |
62 | | - | |
| 69 | + | |
63 | 70 | | |
64 | 71 | | |
65 | 72 | | |
| |||
101 | 108 | | |
102 | 109 | | |
103 | 110 | | |
| 111 | + | |
104 | 112 | | |
105 | 113 | | |
106 | 114 | | |
| |||
188 | 196 | | |
189 | 197 | | |
190 | 198 | | |
| 199 | + | |
191 | 200 | | |
192 | 201 | | |
193 | 202 | | |
| |||
196 | 205 | | |
197 | 206 | | |
198 | 207 | | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
199 | 214 | | |
200 | 215 | | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
201 | 226 | | |
202 | 227 | | |
203 | 228 | | |
| |||
208 | 233 | | |
209 | 234 | | |
210 | 235 | | |
211 | | - | |
| 236 | + | |
212 | 237 | | |
213 | 238 | | |
214 | 239 | | |
215 | 240 | | |
216 | 241 | | |
217 | 242 | | |
| 243 | + | |
| 244 | + | |
218 | 245 | | |
219 | 246 | | |
220 | 247 | | |
| |||
0 commit comments