Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-02-01 | account for declaration assignment in `collapse_vars` (#2859) | Alex Lam S.L | |
fixes #2858 | |||
2018-01-31 | relax `collapse_vars` on `AST_Exit` (#2855) | Alex Lam S.L | |
First introduced in #1862 to stop assignments to migrate beyond `return` or `throw`. Since then `collapse_vars` has been improved to handle various side-effect-related corner cases. | |||
2018-01-29 | compress chained compound assignments (#2850) | Alex Lam S.L | |
2018-01-19 | improve `unused` on built-in functions (#2817) | Alex Lam S.L | |
2018-01-16 | general improvements around `AST_ForIn` (#2796) | Alex Lam S.L | |
- compress using `collapse_vars` - remove unused `name` - simplify `loop_body` | |||
2018-01-15 | enhance `collapse_vars` (#2788) | Alex Lam S.L | |
2018-01-09 | patch variable declaractions extracted within `catch` (#2753) | Alex Lam S.L | |
fixes #2749 | |||
2017-12-26 | replace single-use recursive functions (#2659) | Alex Lam S.L | |
fixes #2628 | |||
2017-12-18 | improve transversal efficiency in `collapse_vars` (#2611) | Alex Lam S.L | |
fixes #2603 | |||
2017-12-15 | handle `inline` of function arguments (#2590) | Alex Lam S.L | |
fixes #2476 | |||
2017-12-14 | improve `collapse_vars` (#2591) | Alex Lam S.L | |
- handle single-use assignments other than `AST_VarDef` - scan `AST_Call` for candidates | |||
2017-12-14 | drop local assign-only variable in `return` (#2587) | Alex Lam S.L | |
2017-12-14 | fold `cascade` functionality into `collapse_vars` (#2586) | Alex Lam S.L | |
2017-12-13 | recover lost opportunities from #2574 (#2584) | Alex Lam S.L | |
2017-12-13 | improve `collapse_vars` on side-effect-free replacements (#2583) | Alex Lam S.L | |
2017-12-12 | fix `AST_VarDef.may_throw()` (#2580) | Alex Lam S.L | |
2017-12-11 | fix `collapse_vars` on `switch` (#2578) | Alex Lam S.L | |
2017-12-11 | handle exceptional flow correctly in `collapse_vars` (#2574) | Alex Lam S.L | |
fixes #2571 | |||
2017-11-28 | improve synergy between `collapse_vars` & `unused` (#2521) | Alex Lam S.L | |
2017-11-28 | drop assignment in `AST_VarDef.value` (#2522) | Alex Lam S.L | |
fixes #2516 | |||
2017-11-24 | fix argument/atom collision by `collapse_vars` (#2507) | Alex Lam S.L | |
fixes #2506 | |||
2017-11-24 | eliminate invalid state caching in `collapse_vars` (#2502) | Alex Lam S.L | |
fixes #2497 | |||
2017-11-13 | fix replacement logic in `collapse_vars` (#2475) | Alex Lam S.L | |
2017-11-12 | allow symbol replacement on multiple occurrences (#2472) | Alex Lam S.L | |
- all-or-nothing replacement - avoid unmangleable names fixes #2436 | |||
2017-11-11 | implement compress option `reduce_funcs` (#2466) | Alex Lam S.L | |
- inline single-use function declarations as expressions when permissible - depend on `reduce_vars` - enabled by default - disable for speed critical code fixes #2464 | |||
2017-11-09 | fix multiple nested function substitutions (#2458) | Alex Lam S.L | |
fixes #2449 | |||
2017-11-06 | consolidate & enhance `unused` (#2439) | Alex Lam S.L | |
- defer declaration removal in `collapse_vars` - account for `AST_SymbolFunarg` in deduplication - private accounting for `collapse_vars` - avoid issues with identity reference due to deep cloning fixes #2437 | |||
2017-11-05 | maintain call argument order in `collapse_vars` (#2426) | Alex Lam S.L | |
fixes #2425 | |||
2017-10-23 | deduplicate declarations regardless of `toplevel` (#2393) | Alex Lam S.L | |
2017-10-22 | safer `properties` transform (#2391) | Alex Lam S.L | |
`{ a: x, b: y }.a` => `[ x, y ][0]` - `x` cannot be function containing `this` `[ x, y, z ][1]` => `(x, z, y)` - only if `z` is side-effect-free | |||
2017-10-19 | enhance `collapse_vars` around lazy operations (#2369) | Alex Lam S.L | |
2017-10-18 | fix `AST_PropAccess` in `collapse_vars` (take 3) (#2375) | Alex Lam S.L | |
Suppress scanning beyond assignment to `a.b` | |||
2017-10-17 | fix `AST_PropAccess` in `collapse_vars` (take 2) (#2372) | Alex Lam S.L | |
fixes #2364 | |||
2017-10-17 | fix `AST_PropAccess` in `collapse_vars` (#2370) | Alex Lam S.L | |
fixes #2364 | |||
2017-10-17 | account for side-effects from `AST_This` in `collapse_vars` (#2365) | Alex Lam S.L | |
2017-10-09 | perform `reduce_vars` on safe literals (#2351) | Alex Lam S.L | |
- constant expression - single reference - same scope - not across loop body | |||
2017-10-08 | collapse `a.b` whenever safe (#2350) | Alex Lam S.L | |
2017-09-20 | suppress `collapse_vars` of `this` into "use strict" (#2326) | Alex Lam S.L | |
fixes #2319 | |||
2017-09-16 | handle LHS side-effects on `cascade` & `collapse_vars` (#2314) | Alex Lam S.L | |
fixes #2313 | |||
2017-09-04 | fix `collapse_vars` on default function argument (#2299) | Alex Lam S.L | |
Avoid collision with local variable `undefined` under certain corner cases. fixes #2298 | |||
2017-07-14 | drop `unused` compound assignments (#2230) | Alex Lam S.L | |
fixes #2226 | |||
2017-07-08 | handle duplicate argument names in `collapse_vars` (#2215) | Alex Lam S.L | |
2017-07-06 | suppress `collapse_vars` of `this` as call argument (#2204) | Alex Lam S.L | |
fixes #2203 | |||
2017-07-02 | drop argument value after `collapse_vars` (#2190) | Alex Lam S.L | |
2017-07-02 | improve `inline` efficiency (#2188) | Alex Lam S.L | |
... by teaching `collapse_vars` some new tricks. fixes #2187 | |||
2017-06-06 | implement function inlining (#2053) | Alex Lam S.L | |
- empty body - single `AST_Return` - single `AST_SimpleStatement` - avoid `/*#__PURE__*/` Miscellaneous - enhance single-use function substitution fixes #281 | |||
2017-05-12 | remove support for `const` (#1910) | Alex Lam S.L | |
As this is not part of ES5. | |||
2017-05-12 | fix invalid transform on `const` (#1919) | Alex Lam S.L | |
- preserve (re)assignment to `const` for runtime error - suppress `cascade` on `const`, as runtime behaviour is ill-defined | |||
2017-05-06 | enhance `collapse_vars` (#1862) | Alex Lam S.L | |
- 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 | |||
2017-04-20 | improve `unused` (#1832) | Alex Lam S.L | |
- extract leading value with side-effects out of `var` statement - reduce scanning of `AST_Definitions` from 3 passes to just once |