Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-09-22 | More attempts to determine when addition is associative | Mihai Bazon | |
Somebody hit me with bug reports on this. :) Refs #300 | |||
2013-09-22 | Actually let's move away those monsters from the evaluate function | Mihai Bazon | |
ev() should do a single thing — evaluate constant expressions. if that's not possible, just return the original node. it's not the best place for partial evaluation there, instead doing it in the compress functions. | |||
2013-09-22 | More dirty handling of [ ... ].join() in unsafe mode | Mihai Bazon | |
Close #300 | |||
2013-09-22 | Evaluate [...].join() if possible: minor bugfix | Dan Wolff | |
Follow-up to 78e98d2. | |||
2013-09-19 | When `unsafe` is set, evaluate [...].join() if possible | Mihai Bazon | |
Close #298 | |||
2013-09-19 | Concatenate strings also on the right-hand side of an expression that cannot ↵ | Dan Wolff | |
be evaluated. Fix #126 E.g. converts: a+'Hello'+'World' to a+'HelloWorld' | |||
2013-09-02 | Disallow `continue` referring to a non-IterationStatement. Fix #287 | Mihai Bazon | |
Simplifies handling of labels (their definition/references can be easily figured out at parse time, no need to do it in `figure_out_scope`). | |||
2013-08-20 | Move support for `negate_iife` in the compressor, rather than code generator | Mihai Bazon | |
(the code generator doesn't maintain enough context to know whether the return value is important or discarded) Fixes #272 | |||
2013-08-18 | fixes #259: don't unnecessarily quote object properties when --screw-ie8 | Michael Ficarra | |
2013-08-07 | Don't drop unused setter argument. | Mihai Bazon | |
Fix #257 | |||
2013-08-04 | Don't pretend to evaluate lambdas | Mihai Bazon | |
Fix #255 | |||
2013-07-25 | Reverting "added option for dropping unused params" | Mihai Bazon | |
Revert "added option for dropping unused params" (turns out we already had the `unused` option for this.) This reverts commit e54df2226f7f3887d2f850cea8caf5c0353dce00. | |||
2013-07-25 | added option for dropping unused params | Dusan Bartos | |
2013-06-07 | Don't swap binary ops when "use asm" is in effect. | Mihai Bazon | |
Refs #167 | |||
2013-05-14 | Only compress code in `new Function` if all arguments are strings. | Mihai Bazon | |
2013-05-14 | Compress code passed to `new Function` if it's a constant. | Mihai Bazon | |
Only for `--unsafe`. Close #203 | |||
2013-05-14 | Fix a["1_1"] | Mihai Bazon | |
Close #204 | |||
2013-05-08 | Better fix for equality of typeof ... against "undefined" | Mihai Bazon | |
2013-05-08 | Fixed typeof undefined optimization and updated related test case to | Justin Lau | |
accomodates the sort behaviour changes made in commit mishoo/UglifyJS2@aebafad41eab48f43ed649ce8c77e8f1528b50da. Signed-off-by: Justin Lau <justin@tclau.com> | |||
2013-05-07 | Fixed dot properties not optimizing unicode identifiers. Signed-off-by: ↵ | Justin Lau | |
Justin Lau <justin@tclau.com> | |||
2013-05-05 | Fixed dot property issue with invlid identifier names. | Justin Lau | |
Signed-off-by: Justin Lau <justin@tclau.com> | |||
2013-04-20 | fixes #189: use dotted member access when --screw-ie8 option given | Michael Ficarra | |
2013-04-03 | Fix typeof evaluation for regex and function | Roman Bataev | |
2013-03-11 | Disable `unsafe` by default | Mihai Bazon | |
Close #147 | |||
2013-03-04 | Fix reordering comparisons | Mihai Bazon | |
Close #143 | |||
2013-03-01 | Drop last `default:` if it's the last branch and empty | Mihai Bazon | |
Close #141 | |||
2013-03-01 | Compress boolean constants after evaluation | Mihai Bazon | |
Close #137 | |||
2013-02-19 | Fix compressing `do {...} while (false)` | Mihai Bazon | |
It's not safe to transform it to {...} because the body might contain `break`. The solution could be more elaborate (detect if body contains `break`) but I don't think it's worth the trouble. Close #129 | |||
2013-02-06 | Give up evaluating (unary-prefix '-' 0) | Mihai Bazon | |
Close #117 ------ JS, WHY YOU SUCK SO BADLY? ;-( | |||
2013-02-06 | Fix handling of constants | Mihai Bazon | |
Close #113 | |||
2013-01-23 | Fix #105: property comparison to undefined is not always safe | Richard Gibson | |
2013-01-17 | Handle String() with no arguments. | Mihai Bazon | |
Fix #91 | |||
2012-12-21 | Optimize new Array(1, 2, 3) → [1, 2, 3] | Mihai Bazon | |
Close #74 | |||
2012-12-05 | small improvement on merging assignments into hoisted vars | Mihai Bazon | |
2012-12-05 | When hoisting variables, try to merge in assignments that follow. | Mihai Bazon | |
2012-11-30 | Don't messup compressor stack while optimizing Switch | Mihai Bazon | |
Fix #59 | |||
2012-11-23 | fix for https://github.com/mishoo/UglifyJS/issues/474 | Mihai Bazon | |
2012-11-17 | retain (1,eval) as is when it's the expression of an AST_Call | Mihai Bazon | |
otherwise we change the meaning of eval from global to lexical. | |||
2012-11-14 | better solution for the last test in constant switch folding | Mihai Bazon | |
2012-11-14 | optimize constant switch blocks | Mihai Bazon | |
ref. mishoo/UglifyJS#441 | |||
2012-11-13 | Merge branch 'optimize_concat' of https://github.com/rvanvelzen/UglifyJS2 ↵ | Mihai Bazon | |
into rvanvelzen-optimize_concat | |||
2012-11-13 | don't change order in binary expressions if both operands have side effects | Mihai Bazon | |
2012-11-12 | Add simple optimization for empty-string concats. | Richard van Velzen | |
ref. #43 | |||
2012-11-12 | fix invalid AST produced by dropping unused variable | Mihai Bazon | |
close #44 | |||
2012-11-11 | convert x.toString() to ""+x instead of x+"" | Dan Wolff | |
In some places this can save one byte in whitespace, e.g. after return. Example: function f(arg) { // return""+arg - no space between return and "" return arg.toString(); } | |||
2012-11-08 | AST_LabelRef no longer inherits from AST_SymbolRef | Mihai Bazon | |
2012-11-08 | optimization for if/break as first statement in a loop body | Mihai Bazon | |
for(...; x; ...) if (y) break; → for(...; x&&!y; ...); similarly for `while` and some combinations (i.e. the `break` appears in the `else` clause, etc.) | |||
2012-11-05 | convert `while` into `for` | Mihai Bazon | |
2012-11-05 | minor | Mihai Bazon | |
2012-11-05 | minor optimization | Mihai Bazon | |
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. |