Age | Commit message (Expand) | Author |
2020-03-30 | fix corner case in `evaluate` & `unsafe_math` (#3756)...fixes #3755 | Alex Lam S.L |
2020-03-01 | fix corner case in `evaluate` (#3739)...fixes #3738 | Alex Lam S.L |
2019-12-02 | fix corner cases in `keep_fargs` & `unused` (#3618) | Alex Lam S.L |
2019-12-01 | enhance `unused` (#3617) | Alex Lam S.L |
2019-11-27 | fix corner case in `unsafe_regexp` (#3609) | Alex Lam S.L |
2019-11-16 | introduce eager evaluation (#3587) | Alex Lam S.L |
2019-11-13 | enhance `evaluate` & `inline` (#3580) | Alex Lam S.L |
2019-11-04 | fix corner case in `evaluate` (#3569) | Alex Lam S.L |
2019-11-02 | enhance `unsafe` `evaluate` (#3564) | Alex Lam S.L |
2019-11-01 | fix corner case in `evaluate` (#3559)...fixes #3558 | Alex Lam S.L |
2019-10-29 | enhance `evaluate` (#3549) | Alex Lam S.L |
2019-10-12 | fix boolean context detection (#3466)...fixes #3465 | Alex Lam S.L |
2019-10-10 | detect boolean context across IIFEs (#3461) | Alex Lam S.L |
2019-04-29 | fix corner case in `evaluate` (#3388)...fixes #3387 | Alex Lam S.L |
2019-04-25 | enhance `unsafe` (#3382) | Alex Lam S.L |
2019-04-24 | fix corner case in `unsafe` (#3380) | Alex Lam S.L |
2019-04-20 | enhance `unsafe` `evaluate` (#3370) | Alex Lam S.L |
2019-03-30 | Fix test expectation (#3357)...The test expects a specific precision value that is not met on all V8 versions anymore due to a recent consolidation of different algorithms across the V8 code base.
This makes sure the preceision is tested against one digit less to keep the test working on all V8 versions.
Refs: https://chromium.googlesource.com/v8/v8/+/98453126c109016c9d32c6ebd89dd83f69dd8efb
Refs: https://github.com/nodejs/node/issues/25060#issuecomment-477953457 | Ruben Bridgewater |
2019-03-18 | introduce `assignments` (#3345) | Alex Lam S.L |
2019-03-18 | fix corner case in `evaluate` (#3344) | Alex Lam S.L |
2019-03-13 | make tests compatible with Node.js 12 (#3304)...In Node.js 12, the formatting of console arguments will change slightly.
Previously, a string other than the first argument was formatted using
single quotes if the first argument was non-string. Now, quotes are
never added regardless of position of a string argument.
To make test compatible in all Node.js versions, I work around by
ensuring the first argument to console.log is a string which prevents
the quotes from being added on older versions of Node.js.
Ref: https://github.com/nodejs/node/pull/23162 | silverwind |
2018-07-13 | fix corner cases in `preserve_line` (#3212) | Alex Lam S.L |
2018-07-01 | fix corner case in `unused` | alexlamsl |
2018-03-16 | improve truthy compression (#3009) | Alex Lam S.L |
2018-03-02 | fix value reference caching in `evaluate` (#2969)...fixes #2968 | Alex Lam S.L |
2018-02-17 | fix `unsafe` `evaluate` of `function` property (#2927)...fixes #2926 | Alex Lam S.L |
2018-02-16 | fix `unsafe` `evaluate` of `AST_Function` (#2920)...fixes #2919 | Alex Lam S.L |
2018-02-14 | fix `unsafe` `evaluate` on type-converting operators (#2917)...fixes #2916 | Alex Lam S.L |
2018-02-06 | evaluate `to{Low,Upp}erCase()` under `unsafe` (#2886) | Alex Lam S.L |
2018-01-21 | fix `unsafe` `evaluate` of `AST_Array` (#2825)...fixes #2822 | Alex Lam S.L |
2018-01-19 | improve `unused` on built-in functions (#2817) | Alex Lam S.L |
2017-12-02 | more tests for #2535 (#2551) | Alex Lam S.L |
2017-12-01 | improve boolean compression (#2548)...fixes #2535 | Alex Lam S.L |
2017-11-11 | implement compress option `reduce_funcs` (#2466)...- inline single-use function declarations as expressions when permissible
- depend on `reduce_vars`
- enabled by default
- disable for speed critical code
fixes #2464 | Alex Lam S.L |
2017-10-29 | enhance `properties` (#2412)...- trim array items only if `side_effects`
- extend to non-identifier properties | Alex Lam S.L |
2017-10-26 | compress self comparisons (#2398) | Alex Lam S.L |
2017-10-22 | safer `properties` transform (#2391)...`{ a: x, b: y }.a` => `[ x, y ][0]`
- `x` cannot be function containing `this`
`[ x, y, z ][1]` => `(x, z, y)`
- only if `z` is side-effect-free | Alex Lam S.L |
2017-10-09 | perform `reduce_vars` on safe literals (#2351)...- constant expression
- single reference
- same scope
- not across loop body | Alex Lam S.L |
2017-07-14 | fix `unsafe` `evaluate` of `Object` static methods (#2232)...fixes #2231 | Alex Lam S.L |
2017-07-07 | inlining of static methods & constants (#2211)...- guard by `unsafe`
- support `Array`, `Math`, `Number`, `Object` & `String`
fixes #2207 | Alex Lam S.L |
2017-07-06 | inline property access of object literal (#2209)...- only if property value is side-effect-free
- guard by `unsafe`
fixes #2208 | Alex Lam S.L |
2017-06-06 | implement function inlining (#2053)...- empty body
- single `AST_Return`
- single `AST_SimpleStatement`
- avoid `/*#__PURE__*/`
Miscellaneous
- enhance single-use function substitution
fixes #281 | Alex Lam S.L |
2017-06-01 | whitelist `unsafe` `evaluate` candidates (#2039)...- all arguments may accept constant values
- return constant value
- free of side effects
- available & identical across locales and runtime environments | Alex Lam S.L |
2017-06-01 | enhance `unsafe` `evaluate` (#2037) | Alex Lam S.L |
2017-05-19 | introduce `unsafe_regexp` (#1970)...fixes #1964 | Alex Lam S.L |
2017-05-12 | remove support for `const` (#1910)...As this is not part of ES5. | Alex Lam S.L |
2017-04-12 | convert `AST_Seq` from binary tree to array (#1460)...- rename `AST_Seq` to `AST_Sequence`
- raise default sequences_limit from 200 to 800 | Alex Lam S.L |
2017-04-09 | fix LHS cases for NaN & friends (#1804)...`Infinity = beyond` should not become `1/0 = beyond` | Alex Lam S.L |
2017-04-08 | fix `delete` corner cases (#1799)...- assignment
- boolean
- conditional
- sequence | Alex Lam S.L |
2017-04-07 | fix corner cases with `delete` (#1796)...`delete Infinity` returns `false` where as `delete (1/0)` returns `true` | Alex Lam S.L |