aboutsummaryrefslogtreecommitdiff
path: root/lib/compress.js
AgeCommit message (Collapse)Author
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
2017-10-01enhance `reduce_vars` for `AST_Accessor` (#2339)Alex Lam S.L
fixes #2336
2017-09-20suppress `collapse_vars` of `this` into "use strict" (#2326)Alex Lam S.L
fixes #2319
2017-09-16handle LHS side-effects on `cascade` & `collapse_vars` (#2314)Alex Lam S.L
fixes #2313
2017-09-10Testing all leading comments against being PURE comments (#2305)Mateusz BurzyƄski
2017-09-07extend `unsafe` on pure global functions (#2303)Alex Lam S.L
2017-09-07add `Date` and other known globals to `unsafe` compress option (#2302)kzc
2017-09-04fix `collapse_vars` on default function argument (#2299)Alex Lam S.L
Avoid collision with local variable `undefined` under certain corner cases. fixes #2298
2017-09-03correctly count declarations after `hoist_vars` (#2297)Alex Lam S.L
fixes #2295
2017-08-29fix `unused` patching of `AST_For.init` blocks (#2289)Alex Lam S.L
fixes #2288
2017-07-15ensure `ie8` works with mangled properties (#2238)Alex Lam S.L
fixes #2234
2017-07-15drop `unused` builtin globals under `unsafe` (#2236)Alex Lam S.L
fixes #2233
2017-07-14fix `unsafe` `evaluate` of `Object` static methods (#2232)Alex Lam S.L
fixes #2231
2017-07-14drop `unused` compound assignments (#2230)Alex Lam S.L
fixes #2226
2017-07-13enhance `passes` (#2229)Alex Lam S.L
- remove hardcoded upper limit - continue based on node count reduction - emit verbose statistics fixes #2226
2017-07-08handle duplicate argument names in `collapse_vars` (#2215)Alex Lam S.L
2017-07-07inlining of static methods & constants (#2211)Alex Lam S.L
- guard by `unsafe` - support `Array`, `Math`, `Number`, `Object` & `String` fixes #2207
2017-07-06inline property access of object literal (#2209)Alex Lam S.L
- only if property value is side-effect-free - guard by `unsafe` fixes #2208
2017-07-06suppress `collapse_vars` of `this` as call argument (#2204)Alex Lam S.L
fixes #2203
2017-07-05improve `compress` granularity through `typeofs` (#2201)Alex Lam S.L
fixes #2198
2017-07-03minor clean-ups to `evaluate` (#2197)Alex Lam S.L
2017-07-03improve parenthesis emission (#2196)Alex Lam S.L
- eliminate `throw` usages - suppress extraneous parenthesis - `new function() {foo.bar()}.baz` - `for (function() { "foo" in bar; };;);`
2017-07-03refactor `throw` usage within `compress` (#2193)Alex Lam S.L
Eliminate exceptional constructs from normal control flow.
2017-07-02drop argument value after `collapse_vars` (#2190)Alex Lam S.L
2017-07-02improve `inline` efficiency (#2188)Alex Lam S.L
... by teaching `collapse_vars` some new tricks. fixes #2187
2017-06-27improve `unsafe_Func` (#2171)Alex Lam S.L
- minimise disturbance to `compute_char_frequency()` - remove extraneous quotation marks
2017-06-27parse `@global_defs` as expressions (#2169)Alex Lam S.L
- let parser rejects non-conformant input - eliminate need for extraneous parenthesis
2017-06-24fix `cascade` & `collapse` on property access of constants (#2158)Alex Lam S.L
2017-06-23synchronise `mangle.properties` for `minify()` & `test/compress` (#2151)Alex Lam S.L
2017-06-23refactor `Compressor.toplevel` (#2149)Alex Lam S.L
2017-06-23minimise `reduce_vars` cloning overhead (#2148)Alex Lam S.L
2017-06-23fix `reduce_vars` on `this` (#2145)Alex Lam S.L
fixes #2140