Age | Commit message (Expand) | Author |
2018-01-19 | enable `unsafe` for `test/ufuzz.js` (#2819)...- introduce `unsafe_undefined`
- safer `.toString()` compression
Miscellaneous
- rename `unsafe_Function` | Alex Lam S.L |
2018-01-15 | avoid double counting within single-use functions (#2785)...fixes #2783 | Alex Lam S.L |
2018-01-07 | fix recursive function `inline` (#2738)...fixes #2737 | Alex Lam S.L |
2018-01-04 | fix corner case in `inline` (#2720) | Alex Lam S.L |
2018-01-04 | forbid block-scoped `AST_Defun` in strict mode (#2718) | Alex Lam S.L |
2018-01-04 | extend `inline` (#2714)...- compress `function` with variables within loops
- restrict to `AST_Var` for better compatibility with ES6+ | Alex Lam S.L |
2018-01-04 | apply `collapse_vars` to loop conditions (#2712) | Alex Lam S.L |
2018-01-03 | inline functions with `AST_Var` (#2688) | Alex Lam S.L |
2018-01-02 | enhance `collapse_vars` (#2704) | Alex Lam S.L |
2018-01-02 | reset argument value within loop after `inline` (#2699) | Alex Lam S.L |
2018-01-01 | enhance `join_vars` & `sequences` (#2697)...- nudge declarations without assignments
- within `AST_BlockStatement`
- across `AST_If` | Alex Lam S.L |
2017-12-31 | fix `inline` on duplicate argument names (#2698) | Alex Lam S.L |
2017-12-28 | fix function inlining within loops (#2675)...fixes #2663 | Alex Lam S.L |
2017-12-26 | replace single-use recursive functions (#2659)...fixes #2628 | Alex Lam S.L |
2017-12-26 | suppress `inline` within substituted `AST_Scope` (#2658)...fixes #2657 | Alex Lam S.L |
2017-12-25 | fix infinite loop during `inline` (#2645)...fixes #2644 | Alex Lam S.L |
2017-12-24 | fix corner cases with `collapse_vars`, `inline` & `reduce_vars` (#2637)...fixes #2630 | Alex Lam S.L |
2017-12-20 | avoid `inline` of function with special argument names (#2625) | Alex Lam S.L |
2017-12-19 | fix `inline` after single-use `reduce_vars` (#2623) | Alex Lam S.L |
2017-12-19 | add test for #2613 (#2618) | Alex Lam S.L |
2017-12-19 | handle global constant collision with local variable after `inline` (#2617)...fixes #2616 | Alex Lam S.L |
2017-12-18 | compress `apply()` & `call()` of `function` (#2613)...- `fn.apply(a, [ ... ])` => `fn.call(a, ...)`
- `fn.call(a, ... )` => `a, fn(...)`
where `fn` can be `function` literal or symbol reference linked through `reduce_vars` | Alex Lam S.L |
2017-12-16 | account for `catch` variable when `inline` (#2605)...fixes #2604 | Alex Lam S.L |
2017-12-16 | fix nested `inline` (#2602)...fixes #2601 | Alex Lam S.L |
2017-12-15 | handle `inline` of function arguments (#2590)...fixes #2476 | Alex Lam S.L |
2017-12-14 | inline single-use `function` across loop (#2594) | Alex Lam S.L |
2017-12-14 | fold `cascade` functionality into `collapse_vars` (#2586) | Alex Lam S.L |
2017-12-07 | eliminate noop calls more aggressively (#2559) | Alex Lam S.L |
2017-12-01 | improve compression of `if` conditions (#2544) | Alex Lam S.L |
2017-11-29 | fix `inline` on nested substitutions (#2533)...fixes #2531 | 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 | inline single-use functions that are not constant expressions (#2434)...fixes #2428 | Alex Lam S.L |
2017-10-22 | safer `properties` transform (#2391)...`{ 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 | Alex Lam S.L |
2017-10-22 | fix `unsafe` escape analysis in `reduce_vars` (#2387) | 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-27 | improve `unsafe_Func` (#2171)...- minimise disturbance to `compute_char_frequency()`
- remove extraneous quotation marks | Alex Lam S.L |
2017-06-23 | synchronise `mangle.properties` for `minify()` & `test/compress` (#2151) | Alex Lam S.L |
2017-06-17 | make defensive copies when `inline` (#2116)...fixes #2114 | Alex Lam S.L |
2017-06-16 | correctly determine scope of `AST_This` (#2109)...fixes #2107 | Alex Lam S.L |
2017-06-15 | suppress `inline` of `this` (#2103)...fixes #2101 | Alex Lam S.L |
2017-06-15 | compute `uses_arguments` correctly in `figure_out_scope()` (#2099)...fixes #2097 | Alex Lam S.L |
2017-06-13 | fix variable accounting in `inline` (#2085)...fixes #2084 | Alex Lam S.L |
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-06-06 | workaround webkit parsing error (#2056)...apply `webkit` to jetstream tests | Alex Lam S.L |
2017-05-31 | introduce `unsafe_Func` (#2033)...Separate flag for #203 functionality. | Alex Lam S.L |
2017-05-27 | extend `node_version` range on applicable tests (#2015) | Alex Lam S.L |
2017-05-27 | fix `hoist_funs` on block-scoped `function` under "use strict" (#2013)...Technically not part of ES5, but commonly used code exists in the wild. | Alex Lam S.L |
2017-05-02 | improve literal return optimization (#1860) | kzc |
2017-04-24 | fix `unused` on for-in statements (#1843)...Only need to avoid `var` within the initialisation block.
fixes #1841 | Alex Lam S.L |