aboutsummaryrefslogtreecommitdiff
path: root/lib/compress.js
AgeCommit message (Collapse)Author
2017-11-28improve synergy between `collapse_vars` & `unused` (#2521)Alex Lam S.L
2017-11-28drop assignment in `AST_VarDef.value` (#2522)Alex Lam S.L
fixes #2516
2017-11-25fix argument/atom collision by `properties` (#2514)Alex Lam S.L
fixes #2513
2017-11-24extend escape analysis on constant expression properties (#2509)Alex Lam S.L
fixes #2508
2017-11-24fix argument/atom collision by `collapse_vars` (#2507)Alex Lam S.L
fixes #2506
2017-11-24make `AST_Lambda.contains_this()` less magical (#2505)Alex Lam S.L
2017-11-24eliminate invalid state caching in `collapse_vars` (#2502)Alex Lam S.L
fixes #2497
2017-11-19enable `hoist_props` by default (#2492)Alex Lam S.L
2017-11-16fix cross-scope inlining of `AST_Function`s (#2486)Alex Lam S.L
fixes #2485
2017-11-16minor consolidations (#2484)Alex Lam S.L
- unique symbol generation - `unsafe` on `AST_Call`
2017-11-13fix replacement logic in `collapse_vars` (#2475)Alex Lam S.L
2017-11-13fix `top_retain` on `hoist_props` (#2474)Alex Lam S.L
fixes #2473
2017-11-12allow symbol replacement on multiple occurrences (#2472)Alex Lam S.L
- all-or-nothing replacement - avoid unmangleable names fixes #2436
2017-11-11extend `reduce_funcs` to cover cross-scope substitutions (#2469)Alex Lam S.L
fixes #2468
2017-11-11implement compress option `reduce_funcs` (#2466)Alex Lam S.L
- inline single-use function declarations as expressions when permissible - depend on `reduce_vars` - enabled by default - disable for speed critical code fixes #2464
2017-11-10fix object literal tracing in `reduce_vars` (#2461)Alex Lam S.L
2017-11-09fix multiple nested function substitutions (#2458)Alex Lam S.L
fixes #2449
2017-11-09remove hack in `collapse_vars` (#2457)Alex Lam S.L
fixes #2456
2017-11-08preserve function identity in `reduce_vars` (#2451)Alex Lam S.L
fixes #2450
2017-11-07handle circular `function` reference gracefully (#2446)Alex Lam S.L
fixes #2442
2017-11-06account for `eval` & `with` in `reduce_vars` (#2441)Alex Lam S.L
fixes #2440
2017-11-06consolidate & enhance `unused` (#2439)Alex Lam S.L
- defer declaration removal in `collapse_vars` - account for `AST_SymbolFunarg` in deduplication - private accounting for `collapse_vars` - avoid issues with identity reference due to deep cloning fixes #2437
2017-11-05inline single-use functions that are not constant expressions (#2434)Alex Lam S.L
fixes #2428
2017-11-05extend function inlining safety checks (#2430)Alex Lam S.L
2017-11-05consolidate single-use `function` reduction (#2427)Alex Lam S.L
fixes #2423
2017-11-05maintain call argument order in `collapse_vars` (#2426)Alex Lam S.L
fixes #2425
2017-11-04reduce `this` within functions (#2421)Alex Lam S.L
- only replace same-scope usages - augment `test/ufuzz.js` to test for `this` fixes #2420
2017-10-30compress `new` `function` containing `this` (#2417)Alex Lam S.L
2017-10-29enhance `properties` (#2412)Alex Lam S.L
- trim array items only if `side_effects` - extend to non-identifier properties
2017-10-27remove dead code (#2405)Alex Lam S.L
2017-10-27fix `reduce_vars` on `AST_Array.length` (#2404)Alex Lam S.L
2017-10-26compress self comparisons (#2398)Alex Lam S.L
2017-10-25implement `hoist_props` (#2396)Alex Lam S.L
fixes #2377
2017-10-24fix `unsafe` `reduce_vars` on arrays & objects (#2397)Alex Lam S.L
2017-10-24enhance `unsafe` `evaluate` of arrays & objects (#2394)Alex Lam S.L
2017-10-23deduplicate declarations regardless of `toplevel` (#2393)Alex Lam S.L
2017-10-22safer `properties` transform (#2391)Alex Lam S.L
`{ 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
2017-10-22fix `unsafe` expansion of object literals (#2390)Alex Lam S.L
2017-10-22fix `unsafe` evaluation of `AST_Sub` (#2389)Alex Lam S.L
2017-10-22fix `unsafe` evaluation of objects (#2388)Alex Lam S.L
2017-10-22fix `unsafe` escape analysis in `reduce_vars` (#2387)Alex Lam S.L
2017-10-21`unsafe` fix-ups for #2351 (#2379)Alex Lam S.L
2017-10-19enhance `collapse_vars` around lazy operations (#2369)Alex Lam S.L
2017-10-18fix `AST_PropAccess` in `collapse_vars` (take 3) (#2375)Alex Lam S.L
Suppress scanning beyond assignment to `a.b`
2017-10-17clean up lazy operator detection (#2373)Alex Lam S.L
2017-10-17fix `AST_PropAccess` in `collapse_vars` (take 2) (#2372)Alex Lam S.L
fixes #2364
2017-10-17fix `AST_PropAccess` in `collapse_vars` (#2370)Alex Lam S.L
fixes #2364
2017-10-17account for side-effects from `AST_This` in `collapse_vars` (#2365)Alex Lam S.L
2017-10-09perform `reduce_vars` on safe literals (#2351)Alex Lam S.L
- constant expression - single reference - same scope - not across loop body
2017-10-08collapse `a.b` whenever safe (#2350)Alex Lam S.L