Age | Commit message (Expand) | Author |
2012-11-05 | minor | Mihai Bazon |
2012-11-05 | minor optimization...for `==` or `!=` against a constant, prefer to display the constant first.
should help a bit after gzip, i.e.:
typeof foo=="undefined"
^^^^^^ ^^^^^^^^^^^^^
vs:
"undefined"==typeof foo
^^^^^^^^^^^^^^^^^^^ (longer sequence that could repeat)
idea stolen from closure.
| Mihai Bazon |
2012-11-02 | use a Dictionary object instead of plain object for hashes...to mitigate the `__proto__` issue
related to #30
| Mihai Bazon |
2012-11-01 | it's safe to negate expression in !EXP only in boolean context...#kendo
| Mihai Bazon |
2012-11-01 | added unsafe_comps for negating `<=` with `>`...since it has the potential to break code, let's keep it disabled by default
| Mihai Bazon |
2012-11-01 | fix compressing UnaryPrefix...only try negating the expression if the operator is `!`
#kendo
| Mihai Bazon |
2012-10-30 | don't move expressions containing the binary `in` operator into the `for` ini......(opera can't parse it)
close #25
| Mihai Bazon |
2012-10-24 | fix for `if (...) return; else return ...;`...(it was assumed that the first `return` always contains a value)
close #22
| Mihai Bazon |
2012-10-22 | more sequence optimizations (lift some sequences above binary/unary expressio... | Mihai Bazon |
2012-10-19 | minor fix for dropping unused definitions.... function f(x, y) {
var g = function() { return h() };
var h = function() { return g() };
return x + y;
}
now compresses to `function f(x, y) { return x + y }`
| Mihai Bazon |
2012-10-18 | more optimizations for some break/continue cases | Mihai Bazon |
2012-10-17 | more small optimizations...(unlikely to help for hand-written code)
| Mihai Bazon |
2012-10-17 | define aborts on AST_If: true if both branches abort | Mihai Bazon |
2012-10-17 | employ a better parser for command-line arguments...to support passing commas in strings in for example:
uglifyjs2 -cd TEST="'a,b'" <<EOF
console.log(TEST);
EOF
→ console.log("a,b")
close #14
| Mihai Bazon |
2012-10-13 | drop unused function arguments...also add test for "drop_unused" (the last one fails for now)
| Mihai Bazon |
2012-10-13 | fix compressing benchmark.js (it tried to evaluate a statement)...the following code in benchmark.js triggered the issue:
support.decompilation = Function(
'return (' + (function(x) { return { 'x': '' + (1 + x) + '', 'y': 0 }; }) + ')'
)()(0).x === '1';
technically that could be resolved into a constant expression, but seems
it's being used here for browser bugs detection :-\
| Mihai Bazon |
2012-10-12 | remove the $self hack...operations are destructive anyway, so there's no point to clone the nodes in
the transformer. speed++
| Mihai Bazon |
2012-10-11 | cleanup...- use prototype-less objects where feasible (minor speed improvement)
- get rid of HOP
| Mihai Bazon |
2012-10-10 | drop unused variable | Mihai Bazon |
2012-10-09 | minor | Mihai Bazon |
2012-10-09 | add AST_Infinity node | Mihai Bazon |
2012-10-09 | added $propdoc to AST nodes and some cleanups...hopefully we can make the AST documentation self-generating
| Mihai Bazon |
2012-10-09 | minor AST cleanup (AST_BlockStatement may inherit from AST_Block) | Mihai Bazon |
2012-10-09 | fix detecting symbols in use | Mihai Bazon |
2012-10-08 | eliminate redundant directives in the same scope | Mihai Bazon |
2012-10-05 | minor | Mihai Bazon |
2012-10-05 | replace `(function(){ ...no side effects ... })()` with `undefined`. | Mihai Bazon |
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 |