aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2018-02-01avoid `evaluate` of compound assignment after `dead_code` transform (#2861)Alex Lam S.L
fixes #2860
2018-02-01account for declaration assignment in `collapse_vars` (#2859)Alex Lam S.L
fixes #2858
2018-01-31relax `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-29improve symbol replacement heuristic (#2851)Alex Lam S.L
2018-01-29compress chained compound assignments (#2850)Alex Lam S.L
2018-01-26fix accounting after conversion to assignment (#2847)Alex Lam S.L
Missing reference to `AST_SymbolRef` created by `unused` causes `collapse_vars` to misbehave. fixes #2846
2018-01-23backport of #2835 (#2841)Alex Lam S.L
2018-01-23drop assignments to constant expressions only (#2839)Alex Lam S.L
fixes #2838
2018-01-23handle duplicate function declarations correctly (#2837)Alex Lam S.L
fixes #2836
2018-01-21fix `unsafe` `evaluate` of `AST_Array` (#2825)Alex Lam S.L
fixes #2822
2018-01-19enable `unsafe` for `test/ufuzz.js` (#2819)Alex Lam S.L
- introduce `unsafe_undefined` - safer `.toString()` compression Miscellaneous - rename `unsafe_Function`
2018-01-19improve `unused` on built-in functions (#2817)Alex Lam S.L
2018-01-19avoid duplicate property names in object literals under "use strict" (#2818)Alex Lam S.L
fixes #2816
2018-01-19compress `undefined` property names (#2811)Alex Lam S.L
- enforce property names as string - handle `void 0` as `undefined` in `hoist_props` & `reduce_vars`
2018-01-18fix `join_vars` property assignment for negative array index (#2810)kzc
fixes #2790
2018-01-18faster output of comments (#2806)Alex Lam S.L
2018-01-17fix `AST_Scope.clone()` (#2803)Alex Lam S.L
fixes #2799
2018-01-17suppress `unsafe_proto` for LHS expressions (#2804)Alex Lam S.L
2018-01-17extend `join_vars` & `sequences` (#2798)Alex Lam S.L
2018-01-16general improvements around `AST_ForIn` (#2796)Alex Lam S.L
- compress using `collapse_vars` - remove unused `name` - simplify `loop_body`
2018-01-15enhance `collapse_vars` (#2788)Alex Lam S.L
2018-01-15avoid suboptimal termination in `passes` (#2787)Alex Lam S.L
2018-01-15avoid double counting within single-use functions (#2785)Alex Lam S.L
fixes #2783
2018-01-14fix & extend `join_vars` for object assigments (#2781)Alex Lam S.L
2018-01-14improve SymbolDef info in `--output ast` (#2778)kzc
* SymbolDef info (a.k.a. `thedef`) is now represented as a string containing `"ID name [mangled_name]"`. * Enhance display of `globals`, `variables`, `functions` and `enclosed`. * `SymbolDef.next_id` starts at `1` and the `id` is adjusted for `-o ast` display.
2018-01-13fix `reduce_vars` on `AST_Accessor` (#2776)Alex Lam S.L
fixes #2774
2018-01-12add SymbolDef IDs to --output ast (#2772)kzc
2018-01-12fix output of imported AST (#2771)Alex Lam S.L
2018-01-11fix nested `unused` assignments (#2769)Alex Lam S.L
fixes #2768
2018-01-11fix corner case in #2763 (#2766)Alex Lam S.L
2018-01-11join object assignments (#2763)Alex Lam S.L
2018-01-10skip only `var`s in `if_return` (#2759)Alex Lam S.L
fixes #2747
2018-01-10enhance `conditionals` (#2758)Alex Lam S.L
`x ? y || z : z` --> `x && y || z`
2018-01-09improve synergy between `compress` and `rename` (#2755)Alex Lam S.L
2018-01-09patch variable declaractions extracted within `catch` (#2753)Alex Lam S.L
fixes #2749
2018-01-09improve `rename` reproducibility (#2754)Alex Lam S.L
fixes #2752
2018-01-08compress loops with immediate `break` (#2746)Alex Lam S.L
fixes #2740
2018-01-07fix recursive function `inline` (#2738)Alex Lam S.L
fixes #2737
2018-01-06handle trailing line comments correctly (#2736)Alex Lam S.L
fixes #2734
2018-01-06compress `RegExp()` in `unsafe` (#2735)Alex Lam S.L
2018-01-06enhance `unsafe_proto` (#2733)Alex Lam S.L
2018-01-05fix corner case with `arguments` as function name (#2729)Alex Lam S.L
fixes #2728
2018-01-05improve `if_return` (#2727)Alex Lam S.L
2018-01-05warn on deprecated features (#2726)Alex Lam S.L
- `function.arguments` - `function.callers` fixes #2719
2018-01-05fix `mangle` name collision across files (#2722)Alex Lam S.L
2018-01-04fix corner case in `inline` (#2720)Alex Lam S.L
2018-01-04forbid block-scoped `AST_Defun` in strict mode (#2718)Alex Lam S.L
2018-01-04preserve constant modification under strict mode (#2717)Alex Lam S.L
2018-01-04extend `inline` (#2714)Alex Lam S.L
- compress `function` with variables within loops - restrict to `AST_Var` for better compatibility with ES6+
2018-01-04apply `collapse_vars` to loop conditions (#2712)Alex Lam S.L