Age | Commit message (Expand) | Author |
---|---|---|
2017-06-06 | implement function inlining (#2053)...- empty body - single `AST_Return` - single `AST_SimpleStatement` - avoid `/*#__PURE__*/` Miscellaneous - enhance single-use function substitution fixes #281 | 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-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-19 | improve `collapse_vars` on `AST_Var` (#1828)...Perform the same cascaded scanning within `var` statement as we do on array of statements. | Alex Lam S.L |
2017-04-18 | clean up `collapse_vars` (#1826)...- remove overlap in functionality of singular, consecutive reference of constant value - remove workarounds for previous bugs in `lib/scope.js` - distribute recursive `collapse_single_use_vars()` calls to their respective `OPT(AST_Node)` - enable collapsing of variables within a single `AST_Definitions` | Alex Lam S.L |
2017-04-18 | support safe reassignments in `reduce_vars` (#1823)...`var a=1;a=2;x(a)` => `x(2)` fix pre-existing issues - reference counting on assignment - walking of anonymous functions - chained assignment | Alex Lam S.L |
2017-04-06 | improve `pure_getters` (#1786)...- property access to `null` & `undefined` always has side effects - utilise `reduce_vars` to determine safe property access - may-be cases treated as side effects unless `unsafe` | Alex Lam S.L |
2017-03-26 | fix `delete` related issues in `collapse_vars` and `reduce_vars` (#1689) | Alex Lam S.L |
2017-03-24 | improve collapsible value detection (#1638)...- #1634 bars variables with cross-scope references in between to collapse - but if assigned value is side-effect-free, no states can be modified, so it is safe to move | Alex Lam S.L |
2017-03-23 | account for cross-scope modifications in `collapse_vars` (#1634)...mostly done by @kzc fixes #1631 | Alex Lam S.L |
2017-03-19 | make `expect_stdout` work on Node.js 0.12 (#1623)...That particular version of Node.js has messed up error messages, so provide a version-specific workaround. Also fixed an formatting issue which would cause `expect_stdout` to fail if error message contains excerpts of input. Apply `expect_stdout` to more applicable tests. | Alex Lam S.L |
2017-03-16 | make `collapse_vars` consistent with `toplevel` (#1608)...fixes #1605 | Alex Lam S.L |
2017-03-07 | collapse_vars: do not replace a constant in loop condition or init (#1562) | kzc |
2017-03-03 | collapse_vars should not replace constant in for-in init section (#1538)...fixes #1537 | kzc |
2017-03-02 | optimize trivial IIFEs returning constants (#1530) | kzc |
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 |
2016-05-27 | collapse_vars: Do not consider RegExp literals to be constants...Fixes #1100 | kzc |
2016-01-28 | collapse_vars: fix if/else and ternary operator side effects | kzc |
2016-01-28 | collapse_vars: fix bug in repeated var defs of same name | kzc |
2016-01-27 | fix bug in collapse_vars for right side of "||" and "&&" | kzc |
2016-01-27 | Collapse single use var definitions...Fix #721 | kzc |