Files
react/compiler
Joe Savona b0d04e808d compiler: More precise escape analysis
Our current escape analysis currently works by determing values which are returned, finding the scope those values are produced in, and then walking the dependencies of those scopes. Notably, when we traverse into scopes, we _force_ their values to be memoized — even in cases where we can prove it isn't necessary.

The idea of this PR is to change escape analysis to be purely based on the flow of values. So rather than assume all scope deps need to be force-memoized, we look at how those values are used.

Note: the main motivation for this PR is the follow-up, which allows us to infer dependencies for pruned scopes. Without this change, inferring deps for pruned scopes causes the escape analysis pass to consider values as escaping which shouldn't be.

ghstack-source-id: d44bd38fd4
Pull Request resolved: https://github.com/facebook/react/pull/29782
2024-06-06 09:31:37 -07:00
..
2024-05-29 11:46:27 +09:00
2024-05-29 11:46:27 +09:00
2024-04-16 14:41:13 +01:00
2024-05-29 11:46:27 +09:00
2024-05-29 11:46:27 +09:00
2024-05-29 11:46:27 +09:00
2024-05-06 14:53:47 -07:00
2024-05-29 11:46:27 +09:00

React Compiler

React Compiler is a compiler that optimizes React applications, ensuring that only the minimal parts of components and hooks will re-render when state changes. The compiler also validates that components and hooks follow the Rules of React.

More information about the design and architecture of the compiler are covered in the Design Goals.

More information about developing the compiler itself is covered in the Development Guide.