-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Reapply object tree-shaking This reverts commit 10bc150. * Only rely on stable property paths when deoptimizing member expressions Literal values may be deoptimized later. At that point, we would otherwise need to deoptimize again. For hasEffects, we can use dynamic literal values as those checks are repeatedly executed. Resolves #5735 * Do not mark unused rest parameters as undefined resolves #5739 * add an test for issue 5734 * update linting * reduce the count of includePath for ClassBody * Split includePath into include, includeNode, includePath - include is for re-including on every pass - includePath is only for including specific non-empty paths once - includeNode is for triggering logic on first include, like includePath. * update test * Test if using a shared prototype function can improve performance * Use trivial includeNode method where possible * Remove unnecessary applyDeoptimizations calls * Move applyDeoptimizations check from include to includeNode This should avoid an unnecessary check. * Only deoptimize body for ArrowFunctionExpression For block scopes, this is not needed. * Handle accessed outside variables on includeNode rather than applyDeoptimizations * If a node has not special logic on include or deoptimize, replace check * See if we can reduce the number of tree-shaking passes The idea is to again eagerly include variable inits, but not in a nested call but in a loop at the end of the regular pass. * Ensure that deoptimizing a MemberExpression does not crash * Ensure the "in" operators includes is second operand * When including all children of a CallExpression, also include all paths * 4.30.0-0 * Make sure to use builtins when building for Node Solves an issue when linking with pnpm. * Revert making objects truthy for now This solves an issue with TypeScript enums. A proper solution should be to improve tracking of uninitialized vars. * 4.30.0-1 * Include variable inits per module instead of per pass This should reduce peak memory consumption. * Skip checking for effects in functions with side effects * Do not cache known paramter value as frozen Adding the fallback on each call is not more expensive. * Limit number of tracked deoptimized fields for parameters * 4.31.0-0 * Remove unnecessary array conversion * Only track top-level inclusions for parameters This is a massive performance improvement especially in scenarios with recursive calls where different properties of a function argument are passed to the same function. * Only track arguments in the ArgumentsVariable if referenced This should save some memory which is rarely needed. * 4.33.0-0 --------- Co-authored-by: XiaoPi <[email protected]>
- Loading branch information
1 parent
494483e
commit d7062ef
Showing
372 changed files
with
95,491 additions
and
1,310 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.