Alexey Andreev
|
9271d71906
|
Fix compile-time error in metaprogramming API when body of emit or lazy throws exception instead of returning value
|
2017-02-05 17:28:40 +03:00 |
|
Alexey Andreev
|
751587bddc
|
Disabl redundant return elimination in async methods. Fix https://github.com/konsoletyper/teavm/issues/235
|
2017-01-31 22:45:17 +03:00 |
|
Alexey Andreev
|
e992297781
|
Eliminate unnecessary return statements
|
2017-01-29 23:45:48 +03:00 |
|
Alexey Andreev
|
fa0e884931
|
Optimize if statement to ternary conditional expression
|
2017-01-29 23:33:51 +03:00 |
|
Alexey Andreev
|
ecd58e3573
|
WASM: fix bugs
|
2017-01-29 22:17:04 +03:00 |
|
Alexey Andreev
|
2610fe5428
|
WASM: fix bugs
|
2017-01-29 19:01:18 +03:00 |
|
Alexey Andreev
|
055f39c1c8
|
WASM: fix exception handling
|
2017-01-28 23:25:13 +03:00 |
|
Alexey Andreev
|
f6103ec00b
|
Copy exception variables when splitting async programs. Fix https://github.com/konsoletyper/teavm/issues/230
|
2017-01-28 22:39:44 +03:00 |
|
Alexey Andreev
|
58563a3e2d
|
Fix liveness analysis in split AST optimizer
|
2017-01-25 22:46:15 +03:00 |
|
Alexey Andreev
|
02d8439920
|
When copying basic blocks in async splitter, copy exception variable as well. Fix https://github.com/konsoletyper/teavm/issues/230
|
2017-01-24 23:59:54 +03:00 |
|
Alexey Andreev
|
55836d6ed7
|
Fix async splitting of blocks with exception handlers in some cases. Fix https://github.com/konsoletyper/teavm/issues/234
|
2017-01-24 23:36:15 +03:00 |
|
Alexey Andreev
|
8967f423eb
|
Increase inlining threshold. Add property to build TeaVM without additional artifacts (like samples)
|
2017-01-21 23:34:33 +03:00 |
|
Alexey Andreev
|
d3bed47b1d
|
Add tests for escape analysis/scalar replacement. Fix found bugs
|
2017-01-21 23:34:33 +03:00 |
|
Alexey Andreev
|
e4fab2be41
|
Add escape analysis
|
2017-01-21 23:34:33 +03:00 |
|
Alexey Andreev
|
6781dd0abb
|
Fix bug in nullness analysis
|
2017-01-18 21:30:04 +03:00 |
|
Alexey Andreev
|
149970f162
|
Fix infinite loop in inlining
|
2017-01-14 02:00:19 +03:00 |
|
Alexey Andreev
|
98b6fff2f0
|
Use local type inference to devirtualize calls after inlining
|
2017-01-14 00:50:22 +03:00 |
|
Alexey Andreev
|
645b2b7cd5
|
Add local type inference to use in optimizations
|
2017-01-09 19:16:51 +03:00 |
|
Alexey Andreev
|
5d1e558401
|
Disable loop inversion, since it contains errors
|
2017-01-08 23:43:12 +03:00 |
|
Alexey Andreev
|
ff059919a7
|
Eliminate exception joint in favour of phi functions with multiple inputs per source basic block
|
2017-01-08 23:43:12 +03:00 |
|
Alexey Andreev
|
9532f9a32b
|
Refactor phi updater
|
2017-01-06 21:13:12 +03:00 |
|
Alexey Andreev
|
a5eb9ac800
|
Add tests for phi updater
|
2017-01-04 22:09:56 +03:00 |
|
Alexey Andreev
|
727c831467
|
Use new null checker in optimizer. Fix multiple bugs in optimizer and IR
|
2017-01-03 23:39:43 +03:00 |
|
Alexey Andreev
|
aef1e2e206
|
Fixing bugs in nullness analyzer
|
2017-01-02 16:55:17 +03:00 |
|
Alexey Andreev
|
5fd95f21cb
|
Refactor nullness tests
|
2017-01-02 13:28:35 +03:00 |
|
Alexey Andreev
|
9dc4b47253
|
Add nullness analysis
|
2016-12-27 00:28:37 +03:00 |
|
Alexey Andreev
|
ae5e1e4962
|
Store instructions as double-linked list instead of ArrayList
|
2016-12-20 00:03:14 +03:00 |
|
Alexey Andreev
|
231dcbaf36
|
Working on new nullness checker that uses augmented program representation
|
2016-12-04 22:30:35 +03:00 |
|
Alexey Andreev
|
730d3f3070
|
Use $$ prefix for exception handling variables, since $ used for local variables
|
2016-12-04 20:52:57 +03:00 |
|
Alexey Andreev
|
973231752f
|
Avoid creating of unnecessary phi functions
|
2016-12-04 20:51:00 +03:00 |
|
Alexey Andreev
|
7ca6a4d64e
|
Add IR parser of catch blocks
|
2016-12-04 19:47:10 +03:00 |
|
Alexey Andreev
|
6883b59fc3
|
Add IR parser of field get/set and switch instructions
|
2016-12-04 19:47:10 +03:00 |
|
Alexey Andreev
|
fb53667e77
|
Refactor textual IR parser
|
2016-12-04 19:47:10 +03:00 |
|
Alexey Andreev
|
6084491119
|
Add IR parser of different simple instructions
|
2016-12-04 19:47:10 +03:00 |
|
Alexey Andreev
|
2b94a8b05c
|
Add IR parser of cast instructions
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
825acfc85a
|
Add IR parser of invoke instructions
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
c16de76b23
|
Add IR parser of constant instructions
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
f6308c1782
|
Add IR parser of binary operations and phi functions
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
6148d7a943
|
Add support of branching instructions to listing parser
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
e5db8d4afc
|
Add support of goto and return instructions to textual IR parser
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
93f8c2cf39
|
Creating textual IR parser
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
55158c9e13
|
Move textual IR related things to a separate package
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
e5fe82f0fe
|
Working on textual IR
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
6f92dadad5
|
Fix bugs in nullness checker. Use it in LICM
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
2894c541f7
|
Add nullness checker
|
2016-12-04 19:47:09 +03:00 |
|
Alexey Andreev
|
0b4629d959
|
Refactor optimization API
|
2016-12-04 19:47:07 +03:00 |
|
Alexey Andreev
|
b7d760188e
|
When native method returns undefined and Java expects string, produce null . Add $ prefix to local variables to avoid name clashing with global declarations
|
2016-12-03 14:30:43 +03:00 |
|
Alexey Andreev
|
ad39024795
|
Prevent PhiUpdater from placing e-phis with source variable equal to receiver
|
2016-12-03 13:46:02 +03:00 |
|
Alexey Andreev
|
86b78b8f5d
|
Avoid creating programs with number of variables less than number of parameters
|
2016-11-29 22:32:22 +03:00 |
|
Alexey Andreev
|
2e20287f80
|
JS: fix operator priority when rendering new expression
|
2016-11-22 22:10:18 +03:00 |
|