Alexey Andreev
|
a94686ddf6
|
Fix nullness detection on exception variable
|
2017-02-25 19:52:05 +03:00 |
|
Davin McCall
|
6ef08ae709
|
Fix errors in hasAsyncMethods() which cause it to return an incorrect result.
Previously the method could only ever return false.
|
2017-02-25 19:06:56 +03:00 |
|
Alexey Andreev
|
891e3b8ea9
|
Don't generate call to <clinit> on each static method during AST rendering. Instead, extract from WASM transformation that adds InitClassInstruction to beginning of each method and reuse in in JS. This fixes some issues in async methods, without making AST renderer much more complicated.
|
2017-02-22 23:05:58 +03:00 |
|
Alexey Andreev
|
89f835540b
|
Add unused variable elimination to standard optimization levels
|
2017-02-15 22:16:14 +03:00 |
|
Alexey Andreev
|
19e8e06446
|
Fix creation of multi-dimensional arrays with zero dimensions. See https://github.com/konsoletyper/teavm/issues/239
|
2017-02-11 23:23:50 +03:00 |
|
Alexey Andreev
|
3402fd8ec9
|
Speed-up dependency analysis
|
2017-02-11 12:25:57 +03:00 |
|
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 |
|