Commit Graph

  • c019e39b34 minor tweaks to fuzzer - remove let as variable name - employ crypto.randomBytes() alexlamsl 2017-04-01 15:55:17 +0800
  • c934fc8142 implement test/sandbox.js (#1749) Alex Lam S.L 2017-04-01 05:47:11 +0800
  • 45c19043f3 implement test/sandbox.js - test/run-tests.js and test/ufuzz.js now shares the same run_code() and same_stdout() - re-enable fuzzer to generate top-level NaN, Infinity & undefined - attempt to show beautified output only when run_code() output is preserved alexlamsl 2017-04-01 05:10:21 +0800
  • 257ddc3bdb improve compression of undefined, NaN & Infinitiy (#1748) Alex Lam S.L 2017-04-01 03:02:14 +0800
  • e58fddce42 improve compression of undefined, NaN & Infinitiy - 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 alexlamsl 2017-04-01 01:01:16 +0800
  • da0273e805 [WIP] improve compression of undefined, NaN & Infinitiy Maintains identical behaviour, but move all the transformation logic from OutputStream to Compressor. alexlamsl 2017-03-31 19:26:59 +0800
  • 1ddc05725d combine rules for binary boolean operations (#1744) Alex Lam S.L 2017-03-31 18:47:44 +0800
  • 2f93058c6e More variants of import added (#1738) Ondřej Španěl 2017-03-31 11:52:56 +0200
  • a729c43e87 Another variant of export added - export {Name}. (#1737) Ondřej Španěl 2017-03-31 11:51:27 +0200
  • 9f7d4265b0 combine rules for binary boolean operations alexlamsl 2017-03-31 17:50:23 +0800
  • e6b76a4879 Massive extension of the fuzzer (#1697) Peter van der Zee 2017-03-31 11:23:50 +0200
  • a0c3836ba0 sort options in alphabetical order (#1743) Alex Lam S.L 2017-03-31 16:41:04 +0800
  • a531389457 Fix formatting issues. Ondřej Španěl 2017-03-31 10:36:37 +0200
  • 93821b7883 Massive extension of the fuzzer Peter van der Zee 2017-03-26 13:40:51 +0200
  • 7b1654bd7c sort options in alphabetical order They started off as functional groups I guess, but given the sheer number of options this is becoming too difficult to read. alexlamsl 2017-03-31 15:48:54 +0800
  • f8a71b56fd v2.8.20 v2.8.20 Alex Lam S.L 2017-03-31 15:27:40 +0800
  • 11e9bdc427 fix missing preamble when shebang is absent (#1742) Alex Lam S.L 2017-03-31 15:26:57 +0800
  • c039529c21 fix missing preamble when shebang is absent alexlamsl 2017-03-31 15:08:07 +0800
  • 66e9039350 Merge pull request #1740 from alexlamsl/harmony-v2.8.19 harmony-v2.8.19 Alex Lam S.L 2017-03-31 13:28:56 +0800
  • d717bf9ce8 Merge branch 'master' into harmony alexlamsl 2017-03-31 12:54:03 +0800
  • 934c687e93 Merge 0b6b8b3da3 into a84564d1a8 Stefan Bethke 2017-03-31 04:50:26 +0000
  • a84564d1a8 v2.8.19 v2.8.19 Alex Lam S.L 2017-03-31 12:26:10 +0800
  • c595b84032 fix catch symbol mangling (#1734) Alex Lam S.L 2017-03-31 02:57:47 +0800
  • 09680c7d5c Parse another import variant: import * as Name from 'a.js'. Ondřej Španěl 2017-03-30 20:12:37 +0200
  • 9031b93f93 Use single quotes in a test to prevent quote escaping. Ondřej Španěl 2017-03-30 16:43:12 +0200
  • c5bf0f0075 Another variant of import added - import * from "x.js" Ondřej Španěl 2017-03-30 15:42:09 +0200
  • 528af36523 Another variant of export added - export {Name}. Ondřej Španěl 2017-03-30 15:26:55 +0200
  • 336a034404 simplify conditions alexlamsl 2017-03-30 18:10:58 +0800
  • 7de03480d5 fix scope lookup in nested catch alexlamsl 2017-03-30 18:04:02 +0800
  • 6eb5e0381c fix catch symbol mangling Only need to look up the immediate parent for the same-name special case. alexlamsl 2017-03-30 17:18:44 +0800
  • 5dea52266b [ES6] Implemented parse for export Name from Module variants. (#1701) harmony-v2.8.17 Ondřej Španěl 2017-03-30 11:07:50 +0200
  • 7cb1adf455 remove paranthesis for -(x*y) (#1732) Alex Lam S.L 2017-03-30 16:09:00 +0800
  • 96396c50e4 Added tests for export as variants. Ondřej Španěl 2017-03-30 09:27:56 +0200
  • ec26cd7069 Fix AST_Export $propdoc types (exported_names and module_name). Ondřej Španěl 2017-03-30 09:20:22 +0200
  • f9c4b22704 remove paranthesis for -(x*y) alexlamsl 2017-03-30 12:50:39 +0800
  • 7bea38a05d optimize try-catch-finally (#1731) Alex Lam S.L 2017-03-30 12:16:58 +0800
  • ff0c1116b6 avoid emitting try-block with no catch- & finally-blocks alexlamsl 2017-03-30 02:17:29 +0800
  • 2a2c6badd7 optimize try-catch-finally - eliminate empty blocks - flatten out if try-block does not throw alexlamsl 2017-03-30 01:42:01 +0800
  • 0f910ee25c improve tests from #1726 (#1729) Alex Lam S.L 2017-03-30 00:13:46 +0800
  • 9e19d810de improve tests from #1726 alexlamsl 2017-03-29 23:43:37 +0800
  • beb9659778 speed up IIFE elimination (#1728) Alex Lam S.L 2017-03-29 23:27:35 +0800
  • f1a833a7aa speed up equivalent_to() and AST_Switch (#1727) Alex Lam S.L 2017-03-29 22:08:26 +0800
  • 57fac555c3 speed up IIFE elimination - side_effects will clean up inner statements, so checking for an empty function body should suffice - drop side effects when dropping return from statement alexlamsl 2017-03-29 21:52:44 +0800
  • 2e41cd6394 fix missing parentheses around NaN/Infinity shorthands (#1726) Alex Lam S.L 2017-03-29 20:53:03 +0800
  • 7dbff916c2 speed up equivalent_to() and AST_Switch alexlamsl 2017-03-29 20:46:34 +0800
  • d301597985 fix missing parentheses around NaN/Infinity shorthands alexlamsl 2017-03-29 20:23:37 +0800
  • 09f77c7d4d output optimal representations of NaN & Infinity (#1723) Alex Lam S.L 2017-03-29 18:31:55 +0800
  • 4cb37b590e add tests alexlamsl 2017-03-29 17:32:46 +0800
  • 701fae2699 output optimal representations of NaN & Infinity - move these optimisations out from Compressor to OutputStream - fixes behaviour inconsistency when running uglified code from global or module levels due to redefinition alexlamsl 2017-03-29 17:19:44 +0800
  • fef0bf9ee0 improve beautified output of switch blocks (#1721) Alex Lam S.L 2017-03-29 04:40:05 +0800
  • d778bc23b6 improve beautified output of switch blocks alexlamsl 2017-03-29 03:51:24 +0800
  • ae740b933f v2.8.18 v2.8.18 Alex Lam S.L 2017-03-29 03:13:30 +0800
  • ec7f37f314 remove UGLIFY_DEBUG (#1720) Alex Lam S.L 2017-03-29 01:27:24 +0800
  • fccefbeaca Merge pull request #1717 from alexlamsl/harmony-v2.8.17 Alex Lam S.L 2017-03-29 01:01:28 +0800
  • eb48a035e7 fix corner case in unused (#1718) Alex Lam S.L 2017-03-29 01:00:21 +0800
  • 761c63cd73 remove UGLIFY_DEBUG alexlamsl 2017-03-29 00:57:53 +0800
  • f9c574439b fix corner case in unused When fixing catch-related issue in #1715, it tries to optimise for duplicate definitions but did not take anonymous functions into account. alexlamsl 2017-03-29 00:07:13 +0800
  • 1e2b0aaa04 Merge branch 'master' into harmony-v2.8.17 alexlamsl 2017-03-28 22:03:46 +0800
  • 6ab3224c0d v2.8.17 v2.8.17 Alex Lam S.L 2017-03-28 21:49:04 +0800
  • c909ffb715 fix unused on var of the same name within catch (#1716) Alex Lam S.L 2017-03-28 21:25:49 +0800
  • 8411253755 fix unused on var of the same name within catch alexlamsl 2017-03-28 20:14:09 +0800
  • f71f4905b0 fix is_number() on += (#1714) Alex Lam S.L 2017-03-28 17:08:16 +0800
  • fb177a6312 drop anonymous function name when overshadowed by other declarations (#1712) Alex Lam S.L 2017-03-28 17:02:20 +0800
  • 65da9acce6 handle var within catch of the same name (#1711) Alex Lam S.L 2017-03-28 16:42:39 +0800
  • 35f150967a Fixed test bug (missing scope reference). Ondřej Španěl 2017-03-28 10:26:31 +0200
  • 5cd53f0c63 fix is_number() on += alexlamsl 2017-03-28 16:14:38 +0800
  • 92e59dac70 Test case for #1702 - missing scope in references when used in "for". Ondřej Španěl 2017-03-28 10:03:04 +0200
  • 2c2e364f47 Merge 022f285604 into 67d0237f73 Alex Lam S.L 2017-03-28 08:08:13 +0000
  • 529983acb5 drop anonymous function name when overshadowed by other declarations alexlamsl 2017-03-28 15:51:36 +0800
  • 54f2de4792 Removed empty line. Ondřej Španěl 2017-03-28 09:32:23 +0200
  • 91a3548ab6 handle var within catch of the same name The following code prints 1: alexlamsl 2017-03-28 15:31:35 +0800
  • eb118a0502 Use AST_SymbolImport instead of AST_Symbol. Ondřej Španěl 2017-03-28 09:30:02 +0200
  • f4a360b67b Removed unused symbol. Ondřej Španěl 2017-03-28 08:06:04 +0200
  • 9447b26f0b Merge 7c9eede874 into 67d0237f73 Anthony Van de Gejuchte 2017-03-27 20:16:55 +0000
  • 2f658ba121 Merge 75f234a3db into 67d0237f73 James Yang 2017-03-27 20:16:55 +0000
  • 67d0237f73 fix tail trimming of switch blocks (#1707) Alex Lam S.L 2017-03-28 03:59:13 +0800
  • 984a21704e fix mangle for variable declared within catch block (#1706) Alex Lam S.L 2017-03-28 03:26:35 +0800
  • dbbab7e912 fix tail trimming of switch blocks now guarded under dead_code alexlamsl 2017-03-28 03:20:09 +0800
  • acb75cec11 Added AST_Export new variants output. Added compress test. Ondřej Španěl 2017-03-27 20:57:41 +0200
  • 8978a7022e fix mangle for variable declared within catch block alexlamsl 2017-03-28 02:48:34 +0800
  • 24796f281b Fixed style issues. Ondřej Španěl 2017-03-27 20:27:40 +0200
  • aa3f647656 ufuzz: workaround for Function.toString() v2 (#1700) Alex Lam S.L 2017-03-27 21:49:08 +0800
  • 1a9edcc381 ufuzz: workaround for Function.toString() v2 alexlamsl 2017-03-27 19:04:36 +0800
  • 1eabf5b20c Implemented parse for export Name from Module variants. Ondřej Španěl 2017-03-27 12:30:38 +0200
  • c526da59a1 has_side_effects() should take AST_Switch.expression into account (#1699) Alex Lam S.L 2017-03-27 18:09:35 +0800
  • cb1811abf1 has_side_effects() should take AST_Switch.expression into account alexlamsl 2017-03-27 17:33:32 +0800
  • 581630e0a7 fix typeof side effects (#1696) Alex Lam S.L 2017-03-27 04:37:42 +0800
  • d522fb945c fix typeof side effects statement_to_expression() drops typeof even if it operates on undeclared variables. alexlamsl 2017-03-27 04:10:41 +0800
  • f5952933a0 preserve side effects in switch expression (#1694) Alex Lam S.L 2017-03-27 02:32:46 +0800
  • f001e4cb9d fix cascade on anonymous function reference (#1693) Alex Lam S.L 2017-03-27 01:58:21 +0800
  • b59fc0b4d2 preserve side effects in switch expression alexlamsl 2017-03-27 01:57:03 +0800
  • 57ce5bd9e0 handle overlapped variable definitions (#1691) Alex Lam S.L 2017-03-27 01:30:21 +0800
  • 675748274b fix cascade on anonymous function reference Unlike normal variables and even function definitions, these cannot be reassigned, even though assignment expressions would "leak" the assigned value as normal. alexlamsl 2017-03-27 01:23:51 +0800
  • 6c4f559920 simplify logic add tests alexlamsl 2017-03-27 00:04:52 +0800
  • 8f97e6b176 handle overlapped variable definitions Process variable definitions with or without assigned values against: - arguments - named function arguments - multiple definitions within same scope alexlamsl 2017-03-26 22:00:31 +0800
  • 861a79ac9f fix delete related issues in collapse_vars and reduce_vars (#1689) Alex Lam S.L 2017-03-26 19:14:30 +0800
  • 2371296db7 fix delete related issues in collapse_vars and reduce_vars alexlamsl 2017-03-26 18:43:01 +0800
  • 00996afd2c ufuzz: workaround function name and toString() (#1688) Alex Lam S.L 2017-03-26 18:18:44 +0800
  • e76fb354eb fix cascade on delete operator (#1687) Alex Lam S.L 2017-03-26 18:08:44 +0800
  • 527cb41c7c ufuzz: workaround function name and toString() alexlamsl 2017-03-26 17:43:27 +0800