dillon1000/react
Commit
Browse files Improved check for intermediate values for merged scopes
We can't merge scopes if the intervening instructions produce values that are used later on. This PR improves the mechanism for detecting this case: first we build up a mapping of the last time (max instruction id) each identifier is used. Then when we're about to merge scopes we check if all the intervening lvalues are last used at or before the scope. If so that means it's safe to merge. I can't think of any edge cases that are problematic in the old behavior, but this version is more trivially correct and should allow us to extend to other types of instructions more easily.
Changed paths1 file
First-parent comparisoncompiler/packages/babel-plugin-react-forget/src/ReactiveScopes/MergeConsecutiveScopes.ts ModifiedPatch
Files changed
Rendering syntax-highlighted changes…