Commit Graph

80 Commits

Author SHA1 Message Date
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
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
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
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
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
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
645b2b7cd5 Add local type inference to use in optimizations 2017-01-09 19:16:51 +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
10bb4ef3da Fix range checking in AbstractList.subList. Add RandomAccess to object returned by Arrays.asList 2016-12-03 11:05:33 +03:00
Alexey Andreev
24efd1f49c Fix support of async <clinit> when called by getstatic/putstatic 2016-11-20 17:50:47 +03:00
Alexey Andreev
764c9bbb1e Working on support of async <clinit> methods 2016-11-17 23:24:16 +03:00
Alexey Andreev
f61cfb23b5 After inlining remove unreachable basic blocks and unused variables. When removing unreachable basic blocks, remove corresponding phi inputs as well. 2016-11-06 21:12:59 +03:00
Alexey Andreev
daf5ada5c6 Fix converting JS floating-point numbers to long (fix #228). 2016-11-04 14:12:51 +03:00
Alexey Andreev
6f5c6cd66e Move VM tests off classlib package 2016-11-04 13:34:25 +03:00
Alexey Andreev
8c3f071f88 Fix updating size in LinkedList.remove (fix #226). 2016-11-04 13:28:34 +03:00
Alexey Andreev
af10879a81 Remove unnecessary IDEA project files 2016-10-27 12:55:28 +03:00
Alexey Andreev
b3b1b54582 Remove unnecessary dependencies 2016-10-26 15:02:41 +03:00
Alexey Andreev
9143714168 Refactor target API. Add ability to generate wast and C from wasm target 2016-09-17 09:19:32 +03:00
Alexey Andreev
9fb97fd53f Refactoring 2016-09-17 09:00:40 +03:00
Alexey Andreev
47997cde87 Rename target package to backend to avoid gitignore 2016-09-17 08:59:00 +03:00
Alexey Andreev
89c16b9807 Fixing bugs in WASM emitter 2016-09-17 08:58:56 +03:00
Alexey Andreev
52ace0c252 Refactor TeaVM to support pluggable targets like JavaScript, WebAssembly, LLVM, etc (with only JavaScript target for now) 2016-09-17 08:55:44 +03:00
Alexey Andreev
1f30e5fd88 Add test to prove that all modification to a local variable are visible in a corresponding catch block 2016-09-17 08:55:19 +03:00
Alexey Andreev
6196dc80ed Fix bug in phi updater. Fix tests 2016-09-17 08:43:56 +03:00
Alexey Andreev
d912ba4af3 Invert loops only when it's profitable (causes invariants to dominate exits). Improve LICM to move invariants with side effects 2016-09-17 08:42:54 +03:00
Sergey Kapralov
d1ade89ed4 TMap new methods are covered with tests 2016-08-25 17:12:03 +03:00
Sergey Kapralov
ec2a52900e TMap.compute fixed and tested 2016-08-25 11:13:08 +03:00
Alexey Andreev
559f7f7e42 Fix ByteArrayInputStream.read. Fix https://github.com/konsoletyper/teavm/issues/213 2016-08-18 21:34:18 +03:00
Alexey Andreev
a3f60996e2 Fix https://github.com/konsoletyper/teavm/issues/196 2016-07-28 22:23:39 +03:00
Alexey Andreev
92c6e5084d Trying to configure travis to get test passes 2016-06-24 06:18:56 +03:00
Alexey Andreev
d196eb9864 Further work on incremental phi updater 2016-06-05 20:58:23 +03:00
Alexey Andreev
81b2f69225 Fix bugs in loop inversion 2016-05-10 22:51:34 +03:00
Alexey Andreev
3c93b78902 Implementing loop inversion 2016-05-09 18:13:00 +03:00
Alexey Andreev
e557a25a04 Minor fixes 2016-04-12 23:38:45 +03:00
Alexey Andreev
f63ec25ed3 Move metaprogramming API implementation into separate module 2016-04-12 22:54:32 +03:00
Alexey Andreev
84d9899b3e Implement metaprogramming proxies 2016-04-06 23:02:15 +03:00
Alexey Andreev
b0e9f6f7a5 Add test case for lazy-based conditional that ignores its result 2016-03-02 23:28:13 +03:00
Alexey Andreev
5564b47b9f Add tests for lazy evaluation 2016-03-01 23:00:21 +03:00
Alexey Andreev
518e13cf07 Add several tests for metaprogramming 2016-02-29 23:07:20 +03:00
Alexey Andreev
3e562aa08a Simple metaprogramming test passes 2016-02-27 18:46:27 +03:00
Alexey Andreev
4819eee3ef Add support of TeaVMProperties annotation 2016-02-27 16:16:37 +03:00
Alexey Andreev
5576275998 Improving JUnit test runner 2016-02-26 23:48:04 +03:00
Alexey Andreev
c808f41a8f Improving JUnit test runner 2016-02-23 23:27:50 +03:00
Alexey Andreev
d103306c3e Improving JUnit test runner 2016-02-23 21:40:51 +03:00
Alexey Andreev
2b3cba69bc Run JUnit tests via JUnit runner instead of Maven plugin 2016-02-23 18:46:32 +03:00
Alexey Andreev
5e7311d8cc Start porting metaprogramming API implementation 2016-02-23 13:44:39 +03:00