Age | Commit message (Collapse) | Author | |
---|---|---|---|
2012-09-24 | minor tests fix | Mihai Bazon | |
2012-09-23 | properly drop mutually-referring declarations that are not otherwise | Mihai Bazon | |
referenced and have no side effects | |||
2012-09-22 | tree transformer api (WIP) | Mihai Bazon | |
2012-09-21 | log filename in parse errors / compressor warnings | Mihai Bazon | |
2012-09-21 | better support for multiple input files: | Mihai Bazon | |
- use a single AST_Toplevel node for all files - keep original source filename in the tokens | |||
2012-09-21 | more on detecting side effects | Mihai Bazon | |
2012-09-19 | drop unused variables | Mihai Bazon | |
2012-09-19 | support -c with no arguments to disable compression entirely | Mihai Bazon | |
2012-09-18 | fixed label scope/mangling | Mihai Bazon | |
2012-09-18 | minor | 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 ↵ | Mihai Bazon | |
and it's declared in scope, or x is not a symbol reference. | |||
2012-09-17 | moved `typeof foo == "undefined"` ==> `foo === undefined` under `--unsafe` | Mihai Bazon | |
because https://github.com/mishoo/UglifyJS2/commit/43fd45154bac89b89330e13bd1f167e2a927a23c#commitcomment-1864505 | |||
2012-09-17 | fix .undeclared (it's now a function) | Mihai Bazon | |
2012-09-17 | minor | Mihai Bazon | |
2012-09-17 | one more test for sequences | Mihai Bazon | |
2012-09-17 | possible optimization for AST_Undefined | Mihai Bazon | |
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. | |||
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 | Mihai Bazon | |
optimizations of if/return/continue seem to be even better now | |||
2012-09-15 | other small optimization: | Mihai Bazon | |
if (foo) continue; ...body... ==> if (!foo) { ...body ... } Only when the parent block is the target loop of the `continue` statement. | |||
2012-09-15 | figure out label targets | Mihai Bazon | |
2012-09-15 | join_vars: | Mihai Bazon | |
var XXX; for (var YYY; ...) ==> for (var XXX,YYY; ...) | |||
2012-09-14 | compress typeof x == "undefined" to x === undefined, which further gets | Mihai Bazon | |
shortened to x === void 0 (or x === [][0] in unsafe mode) | |||
2012-09-14 | minor | Mihai Bazon | |
when unsafe, compress undefined as [][0] | |||
2012-09-14 | adding an imaginary "return undefined" can sometimes help | Mihai Bazon | |
function f() { if (foo) return x(); if (!bar) return y(); } ==> function f() { return foo ? x() : bar ? void 0 : y(); } | |||
2012-09-14 | more optimizations that v1 does and some cleanups | Mihai Bazon | |
- 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 | |||
2012-09-13 | added -m and -c options | Mihai Bazon | |
2012-09-13 | few more optimizations: | Mihai Bazon | |
- 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 | |||
2012-09-12 | minor | Mihai Bazon | |
2012-09-12 | more AST_If optimizations | Mihai Bazon | |
2012-09-12 | side effect fixes and small optimization for gzip | Mihai Bazon | |
prefer to always use > and >= operators (idea from Closure) | |||
2012-09-12 | fixed run-tests and an issue about reversing the condition in AST_If | Mihai Bazon | |
2012-09-11 | minor | Mihai Bazon | |
2012-09-11 | fixed some mess with symbols/scope | Mihai Bazon | |
- all symbols now have a `thedef` property which is a SymbolDef object, instead of the `uniq` that we had before (pointing to the first occurrence of the name as declaration). - for undeclared symbols we still create a SymbolDef object in the toplevel scope but mark it "undeclared" - we can now call figure_out_scope after squeezing, which is useful in order not to mangle names that were dropped by the squeezer | |||
2012-09-11 | checkpoint | Mihai Bazon | |
- discard statements with no side effects (unsafe? could be) - safer hoist_vars (needs some revamping of scope/mangling) | |||
2012-09-10 | hoist_vars is pretty bad, it seems. cancelled it for now. | Mihai Bazon | |
2012-09-10 | adaptive base54 digits depending on char frequency (WIP) | Mihai Bazon | |
2012-09-10 | more progress on the compressor (WIP) | Mihai Bazon | |
2012-09-10 | fix "file" in the source map | Mihai Bazon | |
2012-09-08 | minor | Mihai Bazon | |
2012-09-08 | fix output for division followed by regexp | Mihai Bazon | |
( v1 report: https://github.com/mishoo/UglifyJS/pull/458 ) | |||
2012-09-07 | checkpoint | Mihai Bazon | |
2012-09-07 | fix bug (forgot arg name) | Mihai Bazon | |
2012-09-07 | always keep declarations found in unreachable code | Mihai Bazon | |
a few more tests and some cleanups. |