aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2017-07-23unescape surrogate pairs only (#2246)Alex Lam S.L
fixes #2242
2017-07-15reject malformed CLI parameters (#2239)Alex Lam S.L
fixes #2237
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-11enhance source mapping on IIFEs (#2224)Alex Lam S.L
fixes #2213
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-03clean up `TreeWalker.pop()` (#2195)Alex Lam S.L
Remove superfluous parameter.
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-29improve usability of name cache under `minify()` (#2176)Alex Lam S.L
fixes #2174
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-23refactor `compute_char_frequency()` (#2152)Alex Lam S.L
- minimise maintenance when updating AST - maximise code sharing between `master` & `harmony`
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
2017-06-23fix for-in loop parsing (#2144)Alex Lam S.L
2017-06-20ensure mangling works if catch reuses a scope variable (#2123)Alex Lam S.L
fixes #2120
2017-06-17make defensive copies when `inline` (#2116)Alex Lam S.L
fixes #2114
2017-06-16fix loss of context in `collapse_vars` & `cascade` (#2112)Alex Lam S.L
fixes #2110
2017-06-16in-place `tigten_body()` (#2111)Alex Lam S.L
By reducing copies of `AST_Node` arrays, we should be able to reduce: - memory pressure - potential bugs caused by multiple references in AST - duplicated executions of `OPT()`
2017-06-16correctly determine scope of `AST_This` (#2109)Alex Lam S.L
fixes #2107
2017-06-16enforce `inline` scope restriction (#2106)Alex Lam S.L
fixes #2105
2017-06-15suppress `inline` of `this` (#2103)Alex Lam S.L
fixes #2101
2017-06-15compute `uses_arguments` correctly in `figure_out_scope()` (#2099)Alex Lam S.L
fixes #2097
2017-06-13fix variable accounting in `inline` (#2085)Alex Lam S.L
fixes #2084
2017-06-09marshal `mangle[.properties].reserved` from non-Array values (#2072)Alex Lam S.L
2017-06-08fix iteration over object with inherited properties (#2068)Alex Lam S.L
fixes #2055
2017-06-07fix `cascade` on multi-branch evaluations (#2067)Alex Lam S.L
Partially reverts #2059 as this has better coverage and performance. fixes #2062
2017-06-06fix `inline` handling of `AST_Call.args` (#2059)Alex Lam S.L
2017-06-06implement function inlining (#2053)Alex Lam S.L
- empty body - single `AST_Return` - single `AST_SimpleStatement` - avoid `/*#__PURE__*/` Miscellaneous - enhance single-use function substitution fixes #281
2017-06-06workaround webkit parsing error (#2056)Alex Lam S.L
apply `webkit` to jetstream tests
2017-06-04fix `AST_Function` scope invariance (#2052)Alex Lam S.L
improve function name hack in `run_code()`
2017-06-03clean up `lib/parse.js` (#2047)Alex Lam S.L
- remove unused definitions - replace `array_to_hash()`
2017-06-01fix non-identifier getter/setter name (#2041)Alex Lam S.L
fixes #2040
2017-06-01whitelist `unsafe` `evaluate` candidates (#2039)Alex Lam S.L
- all arguments may accept constant values - return constant value - free of side effects - available & identical across locales and runtime environments
2017-06-01enhance `unsafe` `evaluate` (#2037)Alex Lam S.L
2017-05-31introduce `unsafe_Func` (#2033)Alex Lam S.L
Separate flag for #203 functionality.