Alex Lam S.L
|
541e6011af
|
improve symbol replacement heuristic (#2851)
|
2018-01-29 17:41:15 +08:00 |
|
Alex Lam S.L
|
6fa3fbeae8
|
compress chained compound assignments (#2850)
|
2018-01-29 15:13:25 +08:00 |
|
Alex Lam S.L
|
193612ac67
|
fix accounting after conversion to assignment (#2847)
Missing reference to `AST_SymbolRef` created by `unused` causes `collapse_vars` to misbehave.
fixes #2846
|
2018-01-26 14:21:11 +08:00 |
|
Alex Lam S.L
|
95cfce68ea
|
backport of #2835 (#2841)
|
2018-01-23 05:45:45 +08:00 |
|
Alex Lam S.L
|
ec4202590d
|
drop assignments to constant expressions only (#2839)
fixes #2838
|
2018-01-23 02:49:54 +08:00 |
|
Alex Lam S.L
|
e2dc9cf091
|
fix unsafe evaluate of AST_Array (#2825)
fixes #2822
|
2018-01-21 01:39:44 +08:00 |
|
Alex Lam S.L
|
069df27bf1
|
enable unsafe for test/ufuzz.js (#2819)
- introduce `unsafe_undefined`
- safer `.toString()` compression
Miscellaneous
- rename `unsafe_Function`
|
2018-01-19 23:47:42 +08:00 |
|
Alex Lam S.L
|
3e7873217c
|
improve unused on built-in functions (#2817)
|
2018-01-19 20:41:57 +08:00 |
|
Alex Lam S.L
|
e21bab7ce6
|
avoid duplicate property names in object literals under "use strict" (#2818)
fixes #2816
|
2018-01-19 20:13:50 +08:00 |
|
Alex Lam S.L
|
082e004b87
|
compress undefined property names (#2811)
- enforce property names as string
- handle `void 0` as `undefined` in `hoist_props` & `reduce_vars`
|
2018-01-19 00:36:30 +08:00 |
|
kzc
|
983e69128b
|
fix join_vars property assignment for negative array index (#2810)
fixes #2790
|
2018-01-18 21:52:54 +08:00 |
|
Alex Lam S.L
|
d3ce2bc9e7
|
suppress unsafe_proto for LHS expressions (#2804)
|
2018-01-17 20:41:51 +08:00 |
|
Alex Lam S.L
|
79cfac77bd
|
extend join_vars & sequences (#2798)
|
2018-01-17 13:58:27 +08:00 |
|
Alex Lam S.L
|
b4aef753e7
|
general improvements around AST_ForIn (#2796)
- compress using `collapse_vars`
- remove unused `name`
- simplify `loop_body`
|
2018-01-16 17:03:12 +08:00 |
|
Alex Lam S.L
|
10f961c27b
|
enhance collapse_vars (#2788)
|
2018-01-15 18:47:23 +08:00 |
|
Alex Lam S.L
|
b483678ca7
|
avoid suboptimal termination in passes (#2787)
|
2018-01-15 16:42:31 +08:00 |
|
Alex Lam S.L
|
cbbe6fad60
|
avoid double counting within single-use functions (#2785)
fixes #2783
|
2018-01-15 16:42:15 +08:00 |
|
Alex Lam S.L
|
62a66dfff4
|
fix & extend join_vars for object assigments (#2781)
|
2018-01-14 17:11:31 +08:00 |
|
Alex Lam S.L
|
e49416e4aa
|
fix reduce_vars on AST_Accessor (#2776)
fixes #2774
|
2018-01-13 02:46:14 +08:00 |
|
Alex Lam S.L
|
b757450cd8
|
fix nested unused assignments (#2769)
fixes #2768
|
2018-01-11 23:13:44 +08:00 |
|
Alex Lam S.L
|
23ec484806
|
fix corner case in #2763 (#2766)
|
2018-01-11 21:18:08 +08:00 |
|
Alex Lam S.L
|
f1e1bb419a
|
join object assignments (#2763)
|
2018-01-11 17:08:21 +08:00 |
|
Alex Lam S.L
|
6a0af85c8b
|
skip only vars in if_return (#2759)
fixes #2747
|
2018-01-10 19:08:46 +08:00 |
|
Alex Lam S.L
|
09269be974
|
enhance conditionals (#2758)
`x ? y || z : z` --> `x && y || z`
|
2018-01-10 16:59:57 +08:00 |
|
Alex Lam S.L
|
2972d58dbb
|
patch variable declaractions extracted within catch (#2753)
fixes #2749
|
2018-01-09 13:54:35 +08:00 |
|
Alex Lam S.L
|
ce27bcd69a
|
compress loops with immediate break (#2746)
fixes #2740
|
2018-01-08 14:30:18 +08:00 |
|
Alex Lam S.L
|
1ee8be8d91
|
fix recursive function inline (#2738)
fixes #2737
|
2018-01-07 15:31:24 +08:00 |
|
Alex Lam S.L
|
3564b4f20d
|
compress RegExp() in unsafe (#2735)
|
2018-01-06 21:04:47 +08:00 |
|
Alex Lam S.L
|
3505a3604a
|
enhance unsafe_proto (#2733)
|
2018-01-06 06:16:51 +08:00 |
|
Alex Lam S.L
|
b82feb9302
|
improve if_return (#2727)
|
2018-01-05 20:24:30 +08:00 |
|
Alex Lam S.L
|
7f2a591c7e
|
warn on deprecated features (#2726)
- `function.arguments`
- `function.callers`
fixes #2719
|
2018-01-05 19:36:02 +08:00 |
|
Alex Lam S.L
|
484e484571
|
fix corner case in inline (#2720)
|
2018-01-04 23:38:37 +08:00 |
|
Alex Lam S.L
|
a6873a3859
|
forbid block-scoped AST_Defun in strict mode (#2718)
|
2018-01-04 18:45:51 +08:00 |
|
Alex Lam S.L
|
7a6d452b54
|
preserve constant modification under strict mode (#2717)
|
2018-01-04 15:53:53 +08:00 |
|
Alex Lam S.L
|
9b58b54e2d
|
extend inline (#2714)
- compress `function` with variables within loops
- restrict to `AST_Var` for better compatibility with ES6+
|
2018-01-04 12:58:40 +08:00 |
|
Alex Lam S.L
|
c598a12af9
|
apply collapse_vars to loop conditions (#2712)
|
2018-01-04 03:18:28 +08:00 |
|
Alex Lam S.L
|
cfe3a98ce5
|
drop unused assignment based on reduce_vars (#2709)
|
2018-01-04 01:03:33 +08:00 |
|
Alex Lam S.L
|
14778e049b
|
fix reduce_vars on AST_Defun (#2708)
|
2018-01-03 17:18:38 +08:00 |
|
Alex Lam S.L
|
7d3cddf9d6
|
inline functions with AST_Var (#2688)
|
2018-01-03 01:54:44 +08:00 |
|
Alex Lam S.L
|
6dead95eb3
|
enhance collapse_vars (#2704)
|
2018-01-02 18:42:15 +08:00 |
|
Alex Lam S.L
|
cc931b3ad8
|
enhance if_return (#2703)
|
2018-01-02 15:09:51 +08:00 |
|
Alex Lam S.L
|
d838b4b52e
|
reset argument value within loop after inline (#2699)
|
2018-01-02 01:24:53 +08:00 |
|
Alex Lam S.L
|
2f3bddbaca
|
scan within IIFEs of assigned values (#2702)
fixes #2701
|
2018-01-02 01:24:23 +08:00 |
|
Alex Lam S.L
|
673b071637
|
enhance join_vars & sequences (#2697)
- nudge declarations without assignments
- within `AST_BlockStatement`
- across `AST_If`
|
2018-01-01 00:09:26 +08:00 |
|
Alex Lam S.L
|
da82fa59a7
|
fix inline on duplicate argument names (#2698)
|
2017-12-31 20:59:58 +08:00 |
|
Alex Lam S.L
|
333792352e
|
reduce hoisting declarations (#2687)
|
2017-12-31 16:15:00 +08:00 |
|
Alex Lam S.L
|
ed7a0a454e
|
fix dead_code on escaped return assignment (#2693)
fixes #2692
|
2017-12-30 15:20:25 +08:00 |
|
Alex Lam S.L
|
d819559a01
|
minor clean-ups (#2686)
|
2017-12-29 14:04:52 +08:00 |
|
Alex Lam S.L
|
b95e3338d9
|
fix pure_getters on AST_Binary (#2681)
fixes #2678
|
2017-12-28 17:01:01 +08:00 |
|
Alex Lam S.L
|
cb62bd98d3
|
fix function inlining within loops (#2675)
fixes #2663
|
2017-12-28 02:53:14 +08:00 |
|