Age | Commit message (Expand) | Author |
2012-10-04 | removed some unused variables | Mihai Bazon |
2012-10-03 | more cleanup (dropped AST_SwitchBlock) | Mihai Bazon |
2012-10-03 | AST cleanup (dropped AST_StatementBase) | Mihai Bazon |
2012-10-03 | added option for side-effect-free statements, fix test | Mihai Bazon |
2012-10-03 | fix endless loop in tests | Mihai Bazon |
2012-10-03 | fix for `a = !b && !c && !d && !e → a=!(b||c||d||e)` | Mihai Bazon |
2012-10-03 | disable `hoist_vars` by default and change `comparations` to `comparisons` | Mihai Bazon |
2012-10-02 | support defines | Mihai Bazon |
2012-10-02 | "use strict"; | Mihai Bazon |
2012-10-02 | more constant folding (for names defined with `const`) | Mihai Bazon |
2012-10-02 | drop more unused names | Mihai Bazon |
2012-10-02 | a shy attempt to obey `width` in the beautifier; added `bracketize` option to... | Mihai Bazon |
2012-09-26 | removed the "squeeze" method (it's now effectively "transform") | Mihai Bazon |
2012-09-26 | some speedup and more savings from unused vars that have side effects in init... | Mihai Bazon |
2012-09-26 | compressor successfully moved to TreeTransformer | Mihai Bazon |
2012-09-26 | checkpoint (refactoring, WIP) | Mihai Bazon |
2012-09-25 | more cleanups | Mihai Bazon |
2012-09-25 | moving code around (refactoring, WIP) | Mihai Bazon |
2012-09-25 | started some refactoring (WIP) -- moving squeezer to TreeTransformer | Mihai Bazon |
2012-09-25 | minor | Mihai Bazon |
2012-09-25 | it's not safe to assume that property access is side-effect-free...(getters/setters + various browser bugs will trigger side effects; also, an
exception is thrown when the expression is undefined)
| Mihai Bazon |
2012-09-25 | some boolean cleanup | Mihai Bazon |
2012-09-23 | properly drop mutually-referring declarations that are not otherwise...referenced and have no side effects
| Mihai Bazon |
2012-09-22 | tree transformer api (WIP) | Mihai Bazon |
2012-09-21 | log filename in parse errors / compressor warnings | Mihai Bazon |
2012-09-21 | more on detecting side effects | Mihai Bazon |
2012-09-19 | drop unused variables | Mihai Bazon |
2012-09-18 | support for directives | Mihai Bazon |
2012-09-18 | added AST_NaN (output as 0/0) | Mihai Bazon |
2012-09-17 | only do the typeof x == "undefined" optimization if x is a symbol reference a... | Mihai Bazon |
2012-09-17 | moved `typeof foo == "undefined"` ==> `foo === undefined` under `--unsafe`...because https://github.com/mishoo/UglifyJS2/commit/43fd45154bac89b89330e13bd1f167e2a927a23c#commitcomment-1864505
| Mihai Bazon |
2012-09-17 | fix .undeclared (it's now a function) | Mihai Bazon |
2012-09-17 | minor | Mihai Bazon |
2012-09-17 | possible optimization for AST_Undefined...if undefined is defined, ;-), we replace AST_Undefined nodes to a reference
to the "undefined" variable; in turn the mangler will compress it to a
single letter; this helps at least on jQuery.
| Mihai Bazon |
2012-09-17 | empty block to empty statement: {} ==> ; | Mihai Bazon |
2012-09-17 | more smallish optimizations | Mihai Bazon |
2012-09-17 | try negating AST_Binary | Mihai Bazon |
2012-09-16 | some cleanup | Mihai Bazon |
2012-09-16 | more sequencesizing (WIP) | Mihai Bazon |
2012-09-16 | drop unused function | Mihai Bazon |
2012-09-16 | rewrite handle_if_return...optimizations of if/return/continue seem to be even better now
| Mihai Bazon |
2012-09-15 | other small optimization:...if (foo) continue;
...body...
==>
if (!foo) { ...body ... }
Only when the parent block is the target loop of the `continue` statement.
| Mihai Bazon |
2012-09-15 | join_vars:...var XXX;
for (var YYY; ...)
==>
for (var XXX,YYY; ...)
| Mihai Bazon |
2012-09-14 | compress typeof x == "undefined" to x === undefined, which further gets...shortened to x === void 0 (or x === [][0] in unsafe mode)
| Mihai Bazon |
2012-09-14 | minor...when unsafe, compress undefined as [][0]
| Mihai Bazon |
2012-09-14 | adding an imaginary "return undefined" can sometimes help...function f() {
if (foo) return x();
if (!bar) return y();
}
==>
function f() {
return foo ? x() : bar ? void 0 : y();
}
| Mihai Bazon |
2012-09-14 | more optimizations that v1 does and some cleanups...- a = a + x ==> a+=x
- joining consecutive var statements (hoisting is not always desirable)
- x == false ==> x == 0, x != true ==> x != 1
- x, x ==> x; x = exp(), x ==> x = exp()
- discarding useless break-s
| Mihai Bazon |
2012-09-13 | few more optimizations:...- do multiple passes in tighten_body if it was changed
- transform if (foo) return x; return y; ==> return foo?x:y
- don't optimize !0 as true (use best_of after evaluation of constant expr)
With hoist_vars off we now beat UglifyJS v1 on jQuery-1.8.1
| Mihai Bazon |
2012-09-12 | minor | Mihai Bazon |
2012-09-12 | more AST_If optimizations | Mihai Bazon |