Commit 67b27f0
[RSC-PATCH] Walk parsed JSON instead of using reviver for parsing RSC payload
Rebuild react-server-dom-webpack from React fork rsc-patches/v19.0.3
with the reviveModel optimization (backport of facebook/react#35776).
Replaces JSON.parse reviver callback with plain JSON.parse() followed
by a recursive reviveModel() walk in pure JS, yielding ~75% speedup
in RSC chunk deserialization by eliminating C++→JS boundary crossings.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent aba1d26 commit 67b27f0
9 files changed
Lines changed: 451 additions & 316 deletions
File tree
- src/react-server-dom-webpack/cjs
Lines changed: 64 additions & 42 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1038 | 1038 | | |
1039 | 1039 | | |
1040 | 1040 | | |
1041 | | - | |
| 1041 | + | |
1042 | 1042 | | |
1043 | 1043 | | |
1044 | 1044 | | |
| |||
1470 | 1470 | | |
1471 | 1471 | | |
1472 | 1472 | | |
| 1473 | + | |
1473 | 1474 | | |
1474 | 1475 | | |
1475 | 1476 | | |
| |||
1510 | 1511 | | |
1511 | 1512 | | |
1512 | 1513 | | |
1513 | | - | |
1514 | 1514 | | |
1515 | 1515 | | |
1516 | 1516 | | |
| |||
1525 | 1525 | | |
1526 | 1526 | | |
1527 | 1527 | | |
1528 | | - | |
1529 | 1528 | | |
1530 | 1529 | | |
1531 | 1530 | | |
| |||
1554 | 1553 | | |
1555 | 1554 | | |
1556 | 1555 | | |
1557 | | - | |
| 1556 | + | |
1558 | 1557 | | |
1559 | 1558 | | |
1560 | 1559 | | |
| |||
1801 | 1800 | | |
1802 | 1801 | | |
1803 | 1802 | | |
1804 | | - | |
| 1803 | + | |
1805 | 1804 | | |
1806 | 1805 | | |
1807 | 1806 | | |
| |||
1959 | 1958 | | |
1960 | 1959 | | |
1961 | 1960 | | |
1962 | | - | |
| 1961 | + | |
1963 | 1962 | | |
1964 | 1963 | | |
1965 | 1964 | | |
| |||
2120 | 2119 | | |
2121 | 2120 | | |
2122 | 2121 | | |
2123 | | - | |
2124 | | - | |
2125 | | - | |
2126 | | - | |
2127 | | - | |
| 2122 | + | |
| 2123 | + | |
| 2124 | + | |
| 2125 | + | |
| 2126 | + | |
| 2127 | + | |
| 2128 | + | |
| 2129 | + | |
| 2130 | + | |
| 2131 | + | |
| 2132 | + | |
| 2133 | + | |
| 2134 | + | |
| 2135 | + | |
2128 | 2136 | | |
2129 | | - | |
2130 | | - | |
2131 | | - | |
| 2137 | + | |
| 2138 | + | |
| 2139 | + | |
2132 | 2140 | | |
2133 | 2141 | | |
2134 | 2142 | | |
2135 | 2143 | | |
2136 | | - | |
2137 | | - | |
| 2144 | + | |
| 2145 | + | |
2138 | 2146 | | |
2139 | 2147 | | |
2140 | 2148 | | |
2141 | | - | |
2142 | | - | |
| 2149 | + | |
| 2150 | + | |
2143 | 2151 | | |
2144 | 2152 | | |
2145 | 2153 | | |
2146 | 2154 | | |
2147 | 2155 | | |
2148 | | - | |
| 2156 | + | |
2149 | 2157 | | |
2150 | 2158 | | |
2151 | 2159 | | |
2152 | 2160 | | |
2153 | 2161 | | |
2154 | | - | |
2155 | | - | |
2156 | | - | |
2157 | | - | |
2158 | | - | |
2159 | | - | |
2160 | | - | |
| 2162 | + | |
| 2163 | + | |
| 2164 | + | |
| 2165 | + | |
| 2166 | + | |
| 2167 | + | |
2161 | 2168 | | |
2162 | 2169 | | |
2163 | | - | |
| 2170 | + | |
2164 | 2171 | | |
2165 | | - | |
2166 | | - | |
| 2172 | + | |
| 2173 | + | |
2167 | 2174 | | |
2168 | 2175 | | |
2169 | | - | |
2170 | | - | |
2171 | | - | |
2172 | | - | |
2173 | | - | |
2174 | | - | |
2175 | | - | |
2176 | | - | |
2177 | | - | |
2178 | | - | |
2179 | | - | |
2180 | | - | |
| 2176 | + | |
| 2177 | + | |
| 2178 | + | |
| 2179 | + | |
| 2180 | + | |
| 2181 | + | |
| 2182 | + | |
| 2183 | + | |
| 2184 | + | |
| 2185 | + | |
| 2186 | + | |
| 2187 | + | |
| 2188 | + | |
| 2189 | + | |
| 2190 | + | |
| 2191 | + | |
| 2192 | + | |
| 2193 | + | |
| 2194 | + | |
2181 | 2195 | | |
2182 | 2196 | | |
2183 | | - | |
| 2197 | + | |
| 2198 | + | |
| 2199 | + | |
| 2200 | + | |
| 2201 | + | |
| 2202 | + | |
| 2203 | + | |
| 2204 | + | |
| 2205 | + | |
2184 | 2206 | | |
2185 | 2207 | | |
2186 | 2208 | | |
| |||
Lines changed: 47 additions & 36 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
665 | 665 | | |
666 | 666 | | |
667 | 667 | | |
668 | | - | |
| 668 | + | |
669 | 669 | | |
670 | 670 | | |
671 | 671 | | |
| |||
1033 | 1033 | | |
1034 | 1034 | | |
1035 | 1035 | | |
1036 | | - | |
1037 | 1036 | | |
1038 | 1037 | | |
1039 | 1038 | | |
1040 | | - | |
1041 | 1039 | | |
1042 | 1040 | | |
1043 | 1041 | | |
| |||
1049 | 1047 | | |
1050 | 1048 | | |
1051 | 1049 | | |
1052 | | - | |
| 1050 | + | |
1053 | 1051 | | |
1054 | 1052 | | |
1055 | 1053 | | |
| |||
1357 | 1355 | | |
1358 | 1356 | | |
1359 | 1357 | | |
1360 | | - | |
| 1358 | + | |
1361 | 1359 | | |
1362 | 1360 | | |
1363 | 1361 | | |
| |||
1447 | 1445 | | |
1448 | 1446 | | |
1449 | 1447 | | |
1450 | | - | |
1451 | | - | |
1452 | | - | |
1453 | | - | |
1454 | | - | |
1455 | | - | |
1456 | | - | |
1457 | | - | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
1458 | 1465 | | |
1459 | 1466 | | |
1460 | 1467 | | |
1461 | 1468 | | |
1462 | 1469 | | |
1463 | | - | |
1464 | | - | |
1465 | | - | |
1466 | | - | |
1467 | | - | |
1468 | | - | |
1469 | | - | |
1470 | | - | |
1471 | | - | |
1472 | | - | |
1473 | | - | |
1474 | | - | |
1475 | | - | |
1476 | | - | |
1477 | | - | |
1478 | | - | |
1479 | | - | |
1480 | | - | |
1481 | | - | |
1482 | | - | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
1483 | 1486 | | |
1484 | | - | |
1485 | | - | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
1486 | 1491 | | |
1487 | 1492 | | |
1488 | | - | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
1489 | 1500 | | |
1490 | 1501 | | |
1491 | 1502 | | |
| |||
0 commit comments