aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-20extend `test/ufuzz.js` to `inline` & `reduce_funcs` (#2620)Alex Lam S.L
- forward call `fN()` - allow forward call functions to be single-use - avoid generating `AST_Defun` within blocks
2017-12-20remove AST hack from `inline` (#2627)Alex Lam S.L
2017-12-20disable `hoist_funs` by default (#2626)Alex Lam S.L
2017-12-20avoid `inline` of function with special argument names (#2625)Alex Lam S.L
2017-12-19fix `inline` after single-use `reduce_vars` (#2623)Alex Lam S.L
2017-12-19Transform can be simplified when clone is not done. (#2621)Ondřej Španěl
2017-12-19add test for #2613 (#2618)Alex Lam S.L
2017-12-19handle global constant collision with local variable after `inline` (#2617)Alex Lam S.L
fixes #2616
2017-12-18compress `apply()` & `call()` of `function` (#2613)Alex Lam S.L
- `fn.apply(a, [ ... ])` => `fn.call(a, ...)` - `fn.call(a, ... )` => `a, fn(...)` where `fn` can be `function` literal or symbol reference linked through `reduce_vars`
2017-12-18drop property assignment to constants (#2612)Alex Lam S.L
2017-12-18improve transversal efficiency in `collapse_vars` (#2611)Alex Lam S.L
fixes #2603
2017-12-17export `parse()` (#2608)Alex Lam S.L
2017-12-17improve `reset_opt_flags()` (#2610)Alex Lam S.L
2017-12-16account for `catch` variable when `inline` (#2605)Alex Lam S.L
fixes #2604
2017-12-16fix nested `inline` (#2602)Alex Lam S.L
fixes #2601
2017-12-15fix escape analysis on `||` and `&&` (#2600)Alex Lam S.L
fixes #2598
2017-12-15fix `dead_code` on nested `try` (#2599)Alex Lam S.L
fixes #2597
2017-12-15fix `reduce_vars` on `do...while` (#2596)Alex Lam S.L
2017-12-15handle `inline` of function arguments (#2590)Alex Lam S.L
fixes #2476
2017-12-14inline single-use `function` across loop (#2594)Alex Lam S.L
2017-12-14fix `reduce_vars` on single `AST_Defun` reference across loop (#2593)Alex Lam S.L
2017-12-14improve `reduce_vars` (#2592)Alex Lam S.L
- account for hoisting nature of `var`
2017-12-14improve `collapse_vars` (#2591)Alex Lam S.L
- handle single-use assignments other than `AST_VarDef` - scan `AST_Call` for candidates
2017-12-14improve `dead_code` tests (#2589)kzc
for #2588
2017-12-14fix `dead_code` on `return`/`throw` within `try` (#2588)Alex Lam S.L
2017-12-14drop local assign-only variable in `return` (#2587)Alex Lam S.L
2017-12-14fold `cascade` functionality into `collapse_vars` (#2586)Alex Lam S.L
2017-12-13recover lost opportunities from #2574 (#2584)Alex Lam S.L
2017-12-13improve `collapse_vars` on side-effect-free replacements (#2583)Alex Lam S.L
2017-12-13minor clean-up for IIFE (#2582)Alex Lam S.L
- faster exact type match - aggressively convert to `!`
2017-12-12avoid `Function.prototype` pollution by `test/sandbox.js` (#2581)Alex Lam S.L
2017-12-12fix `AST_VarDef.may_throw()` (#2580)Alex Lam S.L
2017-12-11fix `collapse_vars` on `switch` (#2578)Alex Lam S.L
2017-12-11remove unused code (#2579)Alex Lam S.L
fixes #2577
2017-12-11escape consecutive unpaired surrogates (#2576)Alex Lam S.L
fixes #2569
2017-12-11rename tests (#2575)Alex Lam S.L
2017-12-11handle exceptional flow correctly in `collapse_vars` (#2574)Alex Lam S.L
fixes #2571
2017-12-10v3.2.2Alex Lam S.L
2017-12-09improve `unused` on assign-only symbols (#2568)Alex Lam S.L
2017-12-08fix escape analysis for `AST_Throw` (#2564)Alex Lam S.L
2017-12-08fix escape analysis for `AST_Conditional` & `AST_Sequence` (#2563)Alex Lam S.L
fixes #2560
2017-12-08account for side-effects in conditional call inversion (#2562)Alex Lam S.L
fixes #2560
2017-12-07eliminate noop calls more aggressively (#2559)Alex Lam S.L
2017-12-07improve `if_return` (#2558)Alex Lam S.L
`return void x()` => `x()`
2017-12-03v3.2.1Alex Lam S.L
2017-12-02fix `dead_code` on `for` (#2552)Alex Lam S.L
2017-12-02more tests for #2535 (#2551)Alex Lam S.L
2017-12-02improve `evaluate` on `typeof` (#2550)Alex Lam S.L
- gated through `typeofs`
2017-12-01improve boolean compression (#2548)Alex Lam S.L
fixes #2535
2017-12-01improve switch case compression (#2547)Alex Lam S.L