Alexey Andreev
89f835540b
Add unused variable elimination to standard optimization levels
2017-02-15 22:16:14 +03:00
Alexey Andreev
6c6e7c0d4d
Fix build in travis. Seems they have old and buggy javac
2017-02-15 21:12:13 +03:00
Alexey Andreev
16c467f8e2
Merge pull request #244 from davmac314/cli-classaliases
...
Add a CLI option to set class aliases.
2017-02-15 21:08:13 +03:00
Alexey Andreev
c0a6b8dee8
Merge pull request #243 from davmac314/gaussian
...
Add implementation of Random.nextGaussian().
2017-02-15 21:06:07 +03:00
Davin McCall
d4b11e9817
Add a CLI option to set class aliases.
...
This adds the "--classalias" option which allows specifying a target
alias for a fully qualified class. The format is:
--classalias fully.qualified.Name:TargetAlias
2017-02-14 00:06:59 +00:00
Davin McCall
5ff5b22529
Add implementation of Random.nextGaussian().
2017-02-13 21:59:51 +00:00
Alexey Andreev
ccb4dff836
Fix bugs in metaprogramming. In JUnit runner reload about:blank page before every test
2017-02-13 23:43:49 +03:00
Alexey Andreev
edb3d2ff48
Fix generation of meta method when its discriminator class denotes array type
2017-02-12 00:23:53 +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
d6e3331063
Run optimized and minified versions of tests in surefure
2017-02-11 12:25:09 +03:00
Alexey Andreev
816a17dfc0
When Value.get() called in metaprogramming lambda and not assigned anywhere, capture instance anyway so that if it's a lazy value, it will be computed
2017-02-10 23:49:03 +03:00
Alexey Andreev
da3802d9c5
Merge branch 'master' of https://github.com/konsoletyper/teavm
2017-02-10 23:05:54 +03:00
Alexey Andreev
1a4fc066f8
Merge pull request #240 from davmac314/bugfix2
...
Fix first-time instantiation via reflection.
2017-02-10 22:31:45 +03:00
Alexey Andreev
7ff66af94e
Merge branch 'master' of https://github.com/konsoletyper/teavm
2017-02-10 22:26:26 +03:00
Davin McCall
3d0dee98be
Fix first-time instantiation via reflection.
...
In 7fc035f
, a general fix to instantiation via reflection was made and a
test case added. The test case fails due to a separate issue, solved in
this commit, which affects only the first instantiation via reflection.
2017-02-09 14:53:26 +00:00
davmac314
7fc035fd8a
Fix asynchronous instantiation via reflection. ( #238 )
...
Fix asynchronous instantiation via reflection. The generated code resumes
from a thread suspension event, but won't appropriately re-suspend if the
constructor suspends.
2017-02-09 16:29:50 +03:00
Alexey Andreev
21ae63038e
Improving benchmark: 1) show average time 2) allow to disable animation
2017-02-07 22:21:04 +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
5e44c13caf
Fix bugs in metaprogramming. Add run configuration that rebuilds TeaVM
2017-02-04 18:24:23 +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
c7829a77cf
Fix diagnostics tests
2017-01-24 23:42:41 +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
5c936878a7
Update JSO apis
2017-01-23 23:27:57 +03:00
Alexey Andreev
c1cddc5a71
Add JSByRef annotation to specify which parameters to pass to JS by reference
2017-01-23 23:10:35 +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