Alex Lam S.L
|
21794c9b8d
|
account for catch variable when inline (#2605)
fixes #2604
|
2017-12-16 15:21:09 +08:00 |
|
Alex Lam S.L
|
6c686ce593
|
fix nested inline (#2602)
fixes #2601
|
2017-12-16 02:16:35 +08:00 |
|
Alex Lam S.L
|
db902af4c6
|
fix escape analysis on || and && (#2600)
fixes #2598
|
2017-12-15 19:48:14 +08:00 |
|
Alex Lam S.L
|
7d6907cb99
|
fix dead_code on nested try (#2599)
fixes #2597
|
2017-12-15 19:41:28 +08:00 |
|
Alex Lam S.L
|
092d9affb8
|
fix reduce_vars on do...while (#2596)
|
2017-12-15 16:33:19 +08:00 |
|
Alex Lam S.L
|
8f681b1d17
|
handle inline of function arguments (#2590)
fixes #2476
|
2017-12-15 13:28:30 +08:00 |
|
Alex Lam S.L
|
90313875f7
|
inline single-use function across loop (#2594)
|
2017-12-14 19:24:54 +08:00 |
|
Alex Lam S.L
|
3f18a61532
|
fix reduce_vars on single AST_Defun reference across loop (#2593)
|
2017-12-14 18:47:05 +08:00 |
|
Alex Lam S.L
|
02a6ce07eb
|
improve reduce_vars (#2592)
- account for hoisting nature of `var`
|
2017-12-14 15:32:13 +08:00 |
|
Alex Lam S.L
|
738fd52bc4
|
improve collapse_vars (#2591)
- handle single-use assignments other than `AST_VarDef`
- scan `AST_Call` for candidates
|
2017-12-14 15:31:35 +08:00 |
|
Alex Lam S.L
|
8266993c6e
|
fix dead_code on return/throw within try (#2588)
|
2017-12-14 04:38:21 +08:00 |
|
Alex Lam S.L
|
9a137e8613
|
drop local assign-only variable in return (#2587)
|
2017-12-14 02:59:59 +08:00 |
|
Alex Lam S.L
|
ef618332ea
|
fold cascade functionality into collapse_vars (#2586)
|
2017-12-14 01:20:36 +08:00 |
|
Alex Lam S.L
|
7f418978c9
|
recover lost opportunities from #2574 (#2584)
|
2017-12-13 18:20:53 +08:00 |
|
Alex Lam S.L
|
04cc395c35
|
improve collapse_vars on side-effect-free replacements (#2583)
|
2017-12-13 04:52:54 +08:00 |
|
Alex Lam S.L
|
e008dc1bde
|
minor clean-up for IIFE (#2582)
- faster exact type match
- aggressively convert to `!`
|
2017-12-13 01:27:26 +08:00 |
|
Alex Lam S.L
|
ebfd5c5c74
|
fix AST_VarDef.may_throw() (#2580)
|
2017-12-12 03:30:25 +08:00 |
|
Alex Lam S.L
|
f2ad542679
|
fix collapse_vars on switch (#2578)
|
2017-12-11 18:11:09 +08:00 |
|
Alex Lam S.L
|
0e16d92786
|
handle exceptional flow correctly in collapse_vars (#2574)
fixes #2571
|
2017-12-11 00:16:02 +08:00 |
|
Alex Lam S.L
|
0aff037a35
|
improve unused on assign-only symbols (#2568)
|
2017-12-09 06:19:29 +08:00 |
|
Alex Lam S.L
|
74a2f53683
|
fix escape analysis for AST_Throw (#2564)
|
2017-12-08 02:54:37 +08:00 |
|
Alex Lam S.L
|
e20935c3f2
|
fix escape analysis for AST_Conditional & AST_Sequence (#2563)
fixes #2560
|
2017-12-08 01:50:38 +08:00 |
|
Alex Lam S.L
|
3e34f62a1c
|
account for side-effects in conditional call inversion (#2562)
fixes #2560
|
2017-12-08 01:15:31 +08:00 |
|
Alex Lam S.L
|
d21cb84696
|
eliminate noop calls more aggressively (#2559)
|
2017-12-07 01:22:08 +08:00 |
|
Alex Lam S.L
|
3dd495ecdd
|
improve if_return (#2558)
`return void x()` => `x()`
|
2017-12-07 01:01:52 +08:00 |
|
Alex Lam S.L
|
77332a0315
|
fix dead_code on for (#2552)
|
2017-12-02 15:46:05 +08:00 |
|
Alex Lam S.L
|
8da3754e51
|
improve evaluate on typeof (#2550)
- gated through `typeofs`
|
2017-12-02 02:18:33 +08:00 |
|
Alex Lam S.L
|
9a6b11f8e6
|
improve boolean compression (#2548)
fixes #2535
|
2017-12-01 22:41:35 +08:00 |
|
Alex Lam S.L
|
7ac6fdcc99
|
improve switch case compression (#2547)
|
2017-12-01 14:32:00 +08:00 |
|
Alex Lam S.L
|
f6610baaa8
|
improve AST_For.init & AST_Switch.expression compression (#2546)
|
2017-12-01 12:53:59 +08:00 |
|
Alex Lam S.L
|
09b320e8a5
|
convert to number under boolean context (#2545)
|
2017-12-01 12:52:36 +08:00 |
|
Alex Lam S.L
|
5a1e99d713
|
improve compression of if conditions (#2544)
|
2017-12-01 06:18:31 +08:00 |
|
Alex Lam S.L
|
b762f2d6f4
|
improve compression of loop conditions (#2543)
|
2017-12-01 05:52:33 +08:00 |
|
Alex Lam S.L
|
172079a47f
|
improve code reuse (#2542)
|
2017-12-01 03:40:46 +08:00 |
|
Alex Lam S.L
|
c58d3936a3
|
fix corner case in call binding (#2541)
|
2017-12-01 03:18:20 +08:00 |
|
Alex Lam S.L
|
bc5047c1e7
|
fix inline on nested substitutions (#2533)
fixes #2531
|
2017-11-29 13:31:41 +08:00 |
|
Alex Lam S.L
|
206a54a746
|
fix nested hoist_props substitution (#2523)
fixes #2519
|
2017-11-28 14:39:00 +08:00 |
|
Alex Lam S.L
|
32def5ebf5
|
improve synergy between collapse_vars & unused (#2521)
|
2017-11-28 14:02:39 +08:00 |
|
Alex Lam S.L
|
ecc9f6b770
|
drop assignment in AST_VarDef.value (#2522)
fixes #2516
|
2017-11-28 13:08:40 +08:00 |
|
Alex Lam S.L
|
c141ae6f8d
|
fix argument/atom collision by properties (#2514)
fixes #2513
|
2017-11-25 22:52:46 +08:00 |
|
Alex Lam S.L
|
3b28b915eb
|
extend escape analysis on constant expression properties (#2509)
fixes #2508
|
2017-11-24 14:07:39 +08:00 |
|
Alex Lam S.L
|
eb001dc1d9
|
fix argument/atom collision by collapse_vars (#2507)
fixes #2506
|
2017-11-24 07:26:22 +08:00 |
|
Alex Lam S.L
|
aa9bdf416e
|
make AST_Lambda.contains_this() less magical (#2505)
|
2017-11-24 07:03:37 +08:00 |
|
Alex Lam S.L
|
8987780db6
|
eliminate invalid state caching in collapse_vars (#2502)
fixes #2497
|
2017-11-24 04:12:37 +08:00 |
|
Alex Lam S.L
|
b80062c490
|
enable hoist_props by default (#2492)
|
2017-11-19 14:56:23 +08:00 |
|
Alex Lam S.L
|
ae28a24c7f
|
fix cross-scope inlining of AST_Functions (#2486)
fixes #2485
|
2017-11-16 10:04:30 +08:00 |
|
Alex Lam S.L
|
ebe761cad0
|
minor consolidations (#2484)
- unique symbol generation
- `unsafe` on `AST_Call`
|
2017-11-16 04:37:37 +08:00 |
|
Alex Lam S.L
|
49fbe9c5ac
|
fix replacement logic in collapse_vars (#2475)
|
2017-11-13 07:37:42 +08:00 |
|
Alex Lam S.L
|
2ac5086831
|
fix top_retain on hoist_props (#2474)
fixes #2473
|
2017-11-13 00:59:41 +08:00 |
|
Alex Lam S.L
|
c6cfa04d10
|
allow symbol replacement on multiple occurrences (#2472)
- all-or-nothing replacement
- avoid unmangleable names
fixes #2436
|
2017-11-12 22:31:47 +08:00 |
|