Age | Commit message (Expand) | Author |
---|---|---|
2018-01-26 | fix accounting after conversion to assignment (#2847)...Missing reference to `AST_SymbolRef` created by `unused` causes `collapse_vars` to misbehave. fixes #2846 | Alex Lam S.L |
2018-01-11 | fix nested `unused` assignments (#2769)...fixes #2768 | Alex Lam S.L |
2018-01-04 | drop `unused` assignment based on `reduce_vars` (#2709) | Alex Lam S.L |
2017-12-27 | retain recursive function names (#2667)...fixes #2665 | Alex Lam S.L |
2017-12-27 | fix bugs on substituted `AST_Defun` (#2661)...fixes #2660 | Alex Lam S.L |
2017-12-26 | improve `unused` over duplicate variable names (#2656) | Alex Lam S.L |
2017-12-14 | fold `cascade` functionality into `collapse_vars` (#2586) | Alex Lam S.L |
2017-12-09 | improve `unused` on assign-only symbols (#2568) | Alex Lam S.L |
2017-11-28 | improve synergy between `collapse_vars` & `unused` (#2521) | Alex Lam S.L |
2017-11-28 | drop assignment in `AST_VarDef.value` (#2522)...fixes #2516 | Alex Lam S.L |
2017-11-11 | implement compress option `reduce_funcs` (#2466)...- inline single-use function declarations as expressions when permissible - depend on `reduce_vars` - enabled by default - disable for speed critical code fixes #2464 | Alex Lam S.L |
2017-11-09 | fix multiple nested function substitutions (#2458)...fixes #2449 | Alex Lam S.L |
2017-11-05 | extend function inlining safety checks (#2430) | Alex Lam S.L |
2017-10-09 | perform `reduce_vars` on safe literals (#2351)...- constant expression - single reference - same scope - not across loop body | Alex Lam S.L |
2017-08-29 | fix `unused` patching of `AST_For.init` blocks (#2289)...fixes #2288 | Alex Lam S.L |
2017-07-14 | drop `unused` compound assignments (#2230)...fixes #2226 | Alex Lam S.L |
2017-07-02 | drop argument value after `collapse_vars` (#2190) | Alex Lam S.L |
2017-07-02 | improve `inline` efficiency (#2188)...... by teaching `collapse_vars` some new tricks. fixes #2187 | Alex Lam S.L |
2017-06-16 | enforce `inline` scope restriction (#2106)...fixes #2105 | Alex Lam S.L |
2017-06-04 | fix `AST_Function` scope invariance (#2052)...improve function name hack in `run_code()` | Alex Lam S.L |
2017-05-12 | remove support for `const` (#1910)...As this is not part of ES5. | Alex Lam S.L |
2017-05-12 | fix invalid transform on `const` (#1919)...- preserve (re)assignment to `const` for runtime error - suppress `cascade` on `const`, as runtime behaviour is ill-defined | Alex Lam S.L |
2017-05-06 | enhance `collapse_vars` (#1862)...- extend expression types - `a++` - `a=x;` - extend scan range - `for(init;;);` - `switch(expr){case expr:}` - `a = x; a = a || y;` - terminate upon `debugger;` closes #1821 fixes #27 fixes #315 fixes #1858 | Alex Lam S.L |
2017-04-23 | fix `AST_For.init` patch-up in `drop_unused()` (#1839)...fixes #1838 | Alex Lam S.L |
2017-04-20 | improve `unused` (#1832)...- extract leading value with side-effects out of `var` statement - reduce scanning of `AST_Definitions` from 3 passes to just once | Alex Lam S.L |
2017-04-20 | fix `unused` on labeled for-loop (#1831)...fixes #1830 | Alex Lam S.L |
2017-04-17 | compress duplicated variable definitions (#1817)...These are surprisingly common, as people reuse the same variable name within loops or switch branches. | Alex Lam S.L |
2017-04-08 | fix `delete` corner cases (#1799)...- assignment - boolean - conditional - sequence | Alex Lam S.L |
2017-03-30 | optimize try-catch-finally (#1731)...- eliminate empty blocks - flatten out if try-block does not throw | Alex Lam S.L |
2017-03-29 | fix corner case in `unused` (#1718)...When fixing catch-related issue in #1715, it tries to optimise for duplicate definitions but did not take anonymous functions into account. Remove such optimisation for now and we can cover this as a more general rule later. | Alex Lam S.L |
2017-03-28 | fix `unused` on var of the same name within catch (#1716)...fixes #1715 | Alex Lam S.L |
2017-03-28 | drop anonymous function name when overshadowed by other declarations (#1712)...fixes #1709 | Alex Lam S.L |
2017-03-25 | fix invalid `AST_For.init` (#1657)...Turns out the only place in `Compressor` which can generate invalid `AST_For.init` is within `drop_unused()`, so focus the fix-up efforts. supercedes #1652 fixes #1656 | Alex Lam S.L |
2017-03-09 | fix & improve function argument compression (#1584)...- one-use function call => IIFE should take `eval()` & `arguments` into account - if unused parameter cannot be eliminated, replace it with `0` fixes #1583 | Alex Lam S.L |
2017-03-09 | scan RHS of dropped assignments (#1581)...- similar case as #1578 but against #1450 instead - fix `this` binding in #1450 as well closes #1580 | Alex Lam S.L |
2017-03-08 | scan assignment value in drop_unused() (#1578)...those were not optimised for `unused` before, which made it necessary for `reduce_vars` to have separate steps for `keep_fnames` docs update by @kzc closes #1577 | Alex Lam S.L |
2017-03-03 | process code with implicit return statement (#1522)...Bookmarklet for instance implicitedly assumes a "completion value" without using `return`. The `expression` option now supports such use cases. Optimisations on IIFEs also enhanced. fixes #354 fixes #543 fixes #625 fixes #628 fixes #640 closes #1293 | Alex Lam S.L |
2017-03-03 | fix chained assignment with `unused` (#1540)...When #1450 optimises `a=b=42`, it stops after the first variable even if both are unused. fixes #1539 | Alex Lam S.L |
2017-02-24 | enable `collapse_vars` & `reduce_vars` by default...- fix corner cases in `const` optimisation - deprecate `/*@const*/` fixes #1497 closes #1498 | alexlamsl |
2017-02-21 | fix `pure_funcs` & improve `side_effects`...- only drops side-effect-free arguments - drop side-effect-free parts with discarded value from `AST_Seq` & `AST_SimpleStatement` closes #1494 | alexlamsl |
2017-02-21 | improve keep_fargs & keep_fnames...- utilise in_use_ids instead of unreferenced() - drop_unused now up-to-date for subsequent passes closes #1476 | alexlamsl |
2017-02-21 | drop unused: toplevel, assign-only...- assign statement does not count towards variable usage by default - only works with assignments on the same scope level as declaration - can be disabled with `unused` set to "keep_assign" - `toplevel` to drop unused top-level variables and/or functions - `top_retain` to whitelist top-level exceptions closes #1450 | alexlamsl |
2015-09-14 | Control keeping function arguments with a single option | Ville Lautanala |
2015-03-20 | Keep unused function arguments by default...Discarding unused function arguments affects function.length, which can lead to some hard to debug issues. This optimization is now done only in "unsafe mode". Fix #121 | Mihai Bazon |
2015-01-04 | Add a "keep_fnames" option to the compressor to retain function expression names...See #552. This is useful for stack traces. | Richard van Velzen |
2013-12-05 | AST_Catch shouldn't really inherit from AST_Scope. Fix #363...I hereby acknowledge that figure_out_scope has become a mess. | Mihai Bazon |
2013-08-07 | Don't drop unused setter argument....Fix #257 | Mihai Bazon |
2012-10-13 | drop unused function arguments...also add test for "drop_unused" (the last one fails for now) | Mihai Bazon |