Alex Lam S.L
|
a48f87abf2
|
compress new function containing this (#2417)
|
2017-10-30 23:19:27 +08:00 |
|
Alex Lam S.L
|
8428326ea1
|
enhance properties (#2412)
- trim array items only if `side_effects`
- extend to non-identifier properties
|
2017-10-29 04:11:26 +08:00 |
|
Alex Lam S.L
|
31f8209193
|
remove dead code (#2405)
|
2017-10-27 14:28:09 +08:00 |
|
Alex Lam S.L
|
9b0f86f5a1
|
fix reduce_vars on AST_Array.length (#2404)
|
2017-10-27 02:33:37 +08:00 |
|
Alex Lam S.L
|
ee082ace1b
|
compress self comparisons (#2398)
|
2017-10-26 01:16:12 +08:00 |
|
Alex Lam S.L
|
4178289c38
|
implement hoist_props (#2396)
fixes #2377
|
2017-10-25 03:38:11 +08:00 |
|
Alex Lam S.L
|
74ae16f9f8
|
fix unsafe reduce_vars on arrays & objects (#2397)
|
2017-10-24 22:10:36 +08:00 |
|
Alex Lam S.L
|
86ea38a259
|
enhance unsafe evaluate of arrays & objects (#2394)
|
2017-10-24 02:58:30 +08:00 |
|
Alex Lam S.L
|
8a713e449f
|
deduplicate declarations regardless of toplevel (#2393)
|
2017-10-23 01:00:50 +08:00 |
|
Alex Lam S.L
|
24aa07855b
|
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
|
2017-10-22 20:10:13 +08:00 |
|
Alex Lam S.L
|
5fd723f143
|
fix unsafe expansion of object literals (#2390)
|
2017-10-22 15:00:36 +08:00 |
|
Alex Lam S.L
|
516eaef50c
|
fix unsafe evaluation of AST_Sub (#2389)
|
2017-10-22 13:14:15 +08:00 |
|
Alex Lam S.L
|
4ae1fb3ed8
|
fix unsafe evaluation of objects (#2388)
|
2017-10-22 04:19:40 +08:00 |
|
Alex Lam S.L
|
011123223b
|
fix unsafe escape analysis in reduce_vars (#2387)
|
2017-10-22 03:23:31 +08:00 |
|
Alex Lam S.L
|
c927cea632
|
unsafe fix-ups for #2351 (#2379)
|
2017-10-21 04:08:26 +08:00 |
|
Alex Lam S.L
|
0f2ef3367c
|
enhance collapse_vars around lazy operations (#2369)
|
2017-10-19 04:52:00 +08:00 |
|
Alex Lam S.L
|
7e5b5cac97
|
fix AST_PropAccess in collapse_vars (take 3) (#2375)
Suppress scanning beyond assignment to `a.b`
|
2017-10-18 02:54:51 +08:00 |
|
Alex Lam S.L
|
c1346e06b7
|
clean up lazy operator detection (#2373)
|
2017-10-17 23:25:45 +08:00 |
|
Alex Lam S.L
|
0d2fe8e3ef
|
fix AST_PropAccess in collapse_vars (take 2) (#2372)
fixes #2364
|
2017-10-17 22:59:15 +08:00 |
|
Alex Lam S.L
|
f2b9c11e2a
|
fix AST_PropAccess in collapse_vars (#2370)
fixes #2364
|
2017-10-17 18:33:03 +08:00 |
|
Alex Lam S.L
|
fe647b083e
|
account for side-effects from AST_This in collapse_vars (#2365)
|
2017-10-17 01:18:55 +08:00 |
|
Alex Lam S.L
|
b810e2f8da
|
perform reduce_vars on safe literals (#2351)
- constant expression
- single reference
- same scope
- not across loop body
|
2017-10-09 12:25:06 +08:00 |
|
Alex Lam S.L
|
1abe14296e
|
collapse a.b whenever safe (#2350)
|
2017-10-08 13:17:48 +08:00 |
|
Alex Lam S.L
|
dd71639264
|
enhance reduce_vars for AST_Accessor (#2339)
fixes #2336
|
2017-10-01 03:01:50 +08:00 |
|
Alex Lam S.L
|
00f509405b
|
suppress collapse_vars of this into "use strict" (#2326)
fixes #2319
|
2017-09-20 05:23:20 +08:00 |
|
Alex Lam S.L
|
4f0953f7e9
|
handle LHS side-effects on cascade & collapse_vars (#2314)
fixes #2313
|
2017-09-16 11:45:19 +08:00 |
|
Mateusz Burzyński
|
8158b1bdcf
|
Testing all leading comments against being PURE comments (#2305)
|
2017-09-10 02:08:15 +08:00 |
|
Alex Lam S.L
|
aacf3edc68
|
extend unsafe on pure global functions (#2303)
|
2017-09-07 22:08:34 +08:00 |
|
kzc
|
8b89072190
|
add Date and other known globals to unsafe compress option (#2302)
|
2017-09-07 02:44:26 +08:00 |
|
Alex Lam S.L
|
395a17ccda
|
fix collapse_vars on default function argument (#2299)
Avoid collision with local variable `undefined` under certain corner cases.
fixes #2298
|
2017-09-04 02:32:33 +08:00 |
|
Alex Lam S.L
|
3f355866cf
|
correctly count declarations after hoist_vars (#2297)
fixes #2295
|
2017-09-03 17:23:31 +08:00 |
|
Alex Lam S.L
|
e5cf7972ea
|
fix unused patching of AST_For.init blocks (#2289)
fixes #2288
|
2017-08-29 01:10:04 +08:00 |
|
Alex Lam S.L
|
9e1da9235e
|
ensure ie8 works with mangled properties (#2238)
fixes #2234
|
2017-07-15 22:50:59 +08:00 |
|
Alex Lam S.L
|
a5ffe2c23f
|
drop unused builtin globals under unsafe (#2236)
fixes #2233
|
2017-07-15 15:16:11 +08:00 |
|
Alex Lam S.L
|
9282e7b0c6
|
fix unsafe evaluate of Object static methods (#2232)
fixes #2231
|
2017-07-14 19:52:01 +08:00 |
|
Alex Lam S.L
|
5229cb2b1b
|
drop unused compound assignments (#2230)
fixes #2226
|
2017-07-14 00:39:34 +08:00 |
|
Alex Lam S.L
|
458e3e15f0
|
enhance passes (#2229)
- remove hardcoded upper limit
- continue based on node count reduction
- emit verbose statistics
fixes #2226
|
2017-07-13 02:18:59 +08:00 |
|
Alex Lam S.L
|
71ee91e716
|
handle duplicate argument names in collapse_vars (#2215)
|
2017-07-08 04:42:35 +08:00 |
|
Alex Lam S.L
|
4f70d2e28c
|
inlining of static methods & constants (#2211)
- guard by `unsafe`
- support `Array`, `Math`, `Number`, `Object` & `String`
fixes #2207
|
2017-07-07 05:35:32 +08:00 |
|
Alex Lam S.L
|
4b6ca5e742
|
inline property access of object literal (#2209)
- only if property value is side-effect-free
- guard by `unsafe`
fixes #2208
|
2017-07-06 21:51:58 +08:00 |
|
Alex Lam S.L
|
9306da3c58
|
suppress collapse_vars of this as call argument (#2204)
fixes #2203
|
2017-07-06 01:03:52 +08:00 |
|
Alex Lam S.L
|
1ac25fc032
|
improve compress granularity through typeofs (#2201)
fixes #2198
|
2017-07-05 19:20:33 +08:00 |
|
Alex Lam S.L
|
5f046c724b
|
minor clean-ups to evaluate (#2197)
|
2017-07-03 18:52:39 +08:00 |
|
Alex Lam S.L
|
af0262b7e5
|
improve parenthesis emission (#2196)
- eliminate `throw` usages
- suppress extraneous parenthesis
- `new function() {foo.bar()}.baz`
- `for (function() { "foo" in bar; };;);`
|
2017-07-03 04:17:37 +08:00 |
|
Alex Lam S.L
|
20e4f8277f
|
refactor throw usage within compress (#2193)
Eliminate exceptional constructs from normal control flow.
|
2017-07-03 02:10:56 +08:00 |
|
Alex Lam S.L
|
8b69a3d18e
|
drop argument value after collapse_vars (#2190)
|
2017-07-02 04:28:11 +08:00 |
|
Alex Lam S.L
|
d40950b741
|
improve inline efficiency (#2188)
... by teaching `collapse_vars` some new tricks.
fixes #2187
|
2017-07-02 01:05:14 +08:00 |
|
Alex Lam S.L
|
f0a99125ee
|
improve unsafe_Func (#2171)
- minimise disturbance to `compute_char_frequency()`
- remove extraneous quotation marks
|
2017-06-27 23:53:42 +08:00 |
|
Alex Lam S.L
|
1e4de2e6d3
|
parse @global_defs as expressions (#2169)
- let parser rejects non-conformant input
- eliminate need for extraneous parenthesis
|
2017-06-27 10:31:19 +08:00 |
|
Alex Lam S.L
|
9db4c42380
|
fix cascade & collapse on property access of constants (#2158)
|
2017-06-24 21:30:06 +08:00 |
|