Commit Graph

2974 Commits

Author SHA1 Message Date
Davin McCall
95f07d80a7 Add a test for an issue which I believe is caused by failure to identify
an asynchronous method.

Unfortunately I am unable to actually produce a failing test; instead an
exception message is generated during test execution. This seems to be an
issue with the test runner mechanism.
2017-02-25 19:06:56 +03:00
Davin McCall
651532c203 Add test for asynchronous class initialisation from asynchronous constructor.
(cherry picked from commit 34961e4)
2017-02-22 23:10:07 +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
323911ffc9 Add kotlinc.xml to ignore list, since new Kotlin plugin generates this file 2017-02-22 23:03:19 +03:00
Alexey Andreev
e701cf90b0 Fix script that updates IDEA plugin repository. Update readme 2017-02-19 16:59:46 +03:00
Alexey Andreev
7d876668c5 Rename org.ow2.asm to org.teavm.asm in class loader during JPS build. Fix IDEA plugin deployment in travis 2017-02-18 23:50:31 +03:00
Alexey Andreev
b3f52409a7 Fix build 2017-02-18 20:35:04 +03:00
Alexey Andreev
0900f82585 Fix build 2017-02-18 20:26:02 +03:00
Alexey Andreev
036a805837 Add IDEA plugin build to travis config 2017-02-18 20:18:17 +03:00
Alexey Andreev
b4e88988f6 Build IDEA plugin via Maven 2017-02-18 16:57:52 +03:00
Alexey Andreev
4a5a502b62 Fix deployment to bintray 2017-02-16 22:55:30 +03:00
Alexey Andreev
1ea69b7d17 Trying to fix flaky test 2017-02-16 22:33:18 +03:00
Alexey Andreev
60f8633acb Build preview branches in Travis. Publish to bintray only from these branches 2017-02-16 22:25:14 +03:00
Alexey Andreev
5a8c3a9dae Replace build version suffix with 'dev' 2017-02-16 22:20:49 +03:00
Alexey Andreev
a3d13bc8c5 Skip Download(ing): prefix when calculating project version 2017-02-16 22:14:00 +03:00
Alexey Andreev
6817a7465d Pad build number with zeros. Log version number 2017-02-16 22:09:10 +03:00
Alexey Andreev
5958a6d04c Fix getting current version in travis build 2017-02-16 22:03:00 +03:00
Alexey Andreev
55453c9311 Set version to 0.5.0-SNAPSHOT. Add configuration to deploy to bintray. Update version number during Travis build. 2017-02-16 21:48:13 +03:00
Alexey Andreev
7b6013992c Embed metaprogramming implementation into uberjar for IDEA plugin 2017-02-15 22:49:22 +03:00
Alexey Andreev
d5dd608961 Fix ${project.version} in maven archetype. Add default value for optimizationLevel 2017-02-15 22:48:51 +03:00
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