Commit Graph

4 Commits

Author SHA1 Message Date
kzc
bfcaa4ad83 implement compress option reduce_funcs
- Allows single-use function declarations to be inlined
  as function expressions when permissible.
- Enabled by default.
- Option depends on `reduce_vars` being enabled.
- For speed critical code this option should be disabled.
2017-11-10 12:52:40 -05:00
Alex Lam S.L
3493a182b2 implement function inlining (#2053)
- empty body
- single `AST_Return`
- single `AST_SimpleStatement`
- avoid `/*#__PURE__*/`

Miscellaneous
- enhance single-use function substitution

fixes #281
2017-06-06 05:49:53 +08:00
kzc
ea9289771b improve literal return optimization (#1860) 2017-05-02 00:10:11 +08:00
Alex Lam S.L
ff289b90a9 implement delayed resolution for reduce_vars (#1788)
Although it would be nice to enforce `AST_Node` cloning during transformation, that ship has sailed a long time ago.

We now get the assigned value when resolving `AST_SymbolRef` instead of `reset_opt_flags()`, which has the added advantage of improved compressor efficiency.

fixes #1787
2017-04-05 21:06:42 +08:00