mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
a9868cc2b1c19066e9d93bbc404fdca02a314651
This is a fix specifically for the `enableOptimizeFunctionExpression` feature (disabled by default). I tried running all of our fixtures with that flag on everywhere, and this was the only issue. It's actually extracted from another fixture which is more complicated, this is a distilled version. There were two bugs: * DCE was running after LeaveSSA when it needs to run before. Fixing the order means code inside the function expression stops getting removed. * In the feature flag, context variables share Identifier instances with the surrounding code, whereas they are distinct instances without the feature. This meant that mutable ranges from inside the function propagated outside the function, throwing off our inference. The fix was to reset the ranges of context variables after inferring the function expression's effects.
Description
Languages
JavaScript
67.1%
TypeScript
29.4%
HTML
1.5%
CSS
1.1%
C++
0.6%
Other
0.2%