aboutsummaryrefslogtreecommitdiff
path: root/test/compress/evaluate.js
AgeCommit message (Expand)Author
2019-11-27fix corner case in `unsafe_regexp` (#3609)Alex Lam S.L
2019-11-16introduce eager evaluation (#3587)Alex Lam S.L
2019-11-13enhance `evaluate` & `inline` (#3580)Alex Lam S.L
2019-11-04fix corner case in `evaluate` (#3569)Alex Lam S.L
2019-11-02enhance `unsafe` `evaluate` (#3564)Alex Lam S.L
2019-11-01fix corner case in `evaluate` (#3559)...fixes #3558Alex Lam S.L
2019-10-29enhance `evaluate` (#3549)Alex Lam S.L
2019-10-12fix boolean context detection (#3466)...fixes #3465Alex Lam S.L
2019-10-10detect boolean context across IIFEs (#3461)Alex Lam S.L
2019-04-29fix corner case in `evaluate` (#3388)...fixes #3387Alex Lam S.L
2019-04-25enhance `unsafe` (#3382)Alex Lam S.L
2019-04-24fix corner case in `unsafe` (#3380)Alex Lam S.L
2019-04-20enhance `unsafe` `evaluate` (#3370)Alex Lam S.L
2019-03-30Fix 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-477953457Ruben Bridgewater
2019-03-18introduce `assignments` (#3345)Alex Lam S.L
2019-03-18fix corner case in `evaluate` (#3344)Alex Lam S.L
2019-03-13make 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/23162silverwind
2018-07-13fix corner cases in `preserve_line` (#3212)Alex Lam S.L
2018-07-01fix corner case in `unused`alexlamsl
2018-03-16improve truthy compression (#3009)Alex Lam S.L
2018-03-02fix value reference caching in `evaluate` (#2969)...fixes #2968Alex Lam S.L
2018-02-17fix `unsafe` `evaluate` of `function` property (#2927)...fixes #2926Alex Lam S.L
2018-02-16fix `unsafe` `evaluate` of `AST_Function` (#2920)...fixes #2919Alex Lam S.L
2018-02-14fix `unsafe` `evaluate` on type-converting operators (#2917)...fixes #2916Alex Lam S.L
2018-02-06evaluate `to{Low,Upp}erCase()` under `unsafe` (#2886)Alex Lam S.L
2018-01-21fix `unsafe` `evaluate` of `AST_Array` (#2825)...fixes #2822Alex Lam S.L
2018-01-19improve `unused` on built-in functions (#2817)Alex Lam S.L
2017-12-02more tests for #2535 (#2551)Alex Lam S.L
2017-12-01improve boolean compression (#2548)...fixes #2535Alex Lam S.L
2017-11-11implement 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 #2464Alex Lam S.L
2017-10-29enhance `properties` (#2412)...- trim array items only if `side_effects` - extend to non-identifier propertiesAlex Lam S.L
2017-10-26compress self comparisons (#2398)Alex Lam S.L
2017-10-22safer `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-freeAlex Lam S.L
2017-10-09perform `reduce_vars` on safe literals (#2351)...- constant expression - single reference - same scope - not across loop bodyAlex Lam S.L
2017-07-14fix `unsafe` `evaluate` of `Object` static methods (#2232)...fixes #2231Alex Lam S.L
2017-07-07inlining of static methods & constants (#2211)...- guard by `unsafe` - support `Array`, `Math`, `Number`, `Object` & `String` fixes #2207Alex Lam S.L
2017-07-06inline property access of object literal (#2209)...- only if property value is side-effect-free - guard by `unsafe` fixes #2208Alex Lam S.L
2017-06-06implement function inlining (#2053)...- empty body - single `AST_Return` - single `AST_SimpleStatement` - avoid `/*#__PURE__*/` Miscellaneous - enhance single-use function substitution fixes #281Alex Lam S.L
2017-06-01whitelist `unsafe` `evaluate` candidates (#2039)...- all arguments may accept constant values - return constant value - free of side effects - available & identical across locales and runtime environmentsAlex Lam S.L
2017-06-01enhance `unsafe` `evaluate` (#2037)Alex Lam S.L
2017-05-19introduce `unsafe_regexp` (#1970)...fixes #1964Alex Lam S.L
2017-05-12remove support for `const` (#1910)...As this is not part of ES5.Alex Lam S.L
2017-04-12convert `AST_Seq` from binary tree to array (#1460)...- rename `AST_Seq` to `AST_Sequence` - raise default sequences_limit from 200 to 800Alex Lam S.L
2017-04-09fix LHS cases for NaN & friends (#1804)...`Infinity = beyond` should not become `1/0 = beyond`Alex Lam S.L
2017-04-08fix `delete` corner cases (#1799)...- assignment - boolean - conditional - sequenceAlex Lam S.L
2017-04-07fix corner cases with `delete` (#1796)...`delete Infinity` returns `false` where as `delete (1/0)` returns `true`Alex Lam S.L
2017-04-02avoid confusion of `NaN` & `Infinity` with `catch` symbol of the same name (#......fixes #1760 fixes #1761Alex Lam S.L
2017-04-01improve compression of undefined, NaN & Infinitiy (#1748)...- migrate transformation logic from `OutputStream` to `Compressor` - always turn `undefined` into `void 0` (unless `unsafe`) - always keep `NaN` except when avoiding local variable redefinition - introduce `keep_infinity` to suppress `1/0` transform, except when avoiding local variable redefinition supersedes #1723 fixes #1730Alex Lam S.L
2017-03-29output optimal representations of NaN & Infinity (#1723)...- move these optimisations out from `Compressor` to `OutputStream` - fixes behaviour inconsistency when running uglified code from global or module levels due to redefinitionAlex Lam S.L
2017-03-24fix cascade of `evaluate` optimisation (#1654)...Operator has changed, so break out from rest of the rules. fixes #1649Alex Lam S.L