Commit Graph

130 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
Alexey Andreev
92dbed2593 Start porting metaprogramming API implementation 2016-02-22 23:59:54 +03:00
Alexey Andreev
1826e04951 Add class handling in dependency checker 2016-02-22 19:29:51 +03:00
Alexey Andreev
8db424809a Update IDEA configuration. Add metaprogramming API 2016-02-21 23:35:17 +03:00
Alexey Andreev
7d7808bb13 Fix maven build 2016-02-21 22:36:45 +03:00
Alexey Andreev
5706012d0e Ignore IDEA files 2016-02-19 22:17:57 +03:00
Alexey Andreev
863a4b76ff Struggiling with JAR hell in JPS plugin 2016-02-16 23:51:50 +03:00
Alexey Andreev
5dad013cc7 Migration to IDEA 2016-02-07 14:28:51 +03:00
Alexey Andreev
d718177fe0 Improve resource loading contributed by Jaroslav:
* Implement base64 decoder instead of atob, which is not supported 
  by IE9
* Avoid direct usage of window identifier to prevent global namespace
  from spoiling
* Make customizable approach to supply list of resources to write
  into JavaScript
2015-12-26 13:26:34 +03:00
Alexey Andreev
03538071c4 Prevent JSBody from inlining if its argumet get used more than once 2015-12-25 21:48:32 +03:00
Alexey Andreev
0369d100c6 Make JSBody report about wrong parameter/returning type/instance type to
avoid confusion like this:
https://github.com/konsoletyper/teavm/issues/164
2015-12-25 19:04:54 +03:00
Alexey Andreev
4c4d236653 Switch all versions to 1.0.0-SNAPSHOT. Prototyping version switch script 2015-12-24 21:26:29 +03:00
Alexey Andreev
b61849ce80 Fix metaprogramming bugs 2015-12-10 23:05:17 +03:00
Alexey Andreev
7b33bb643e Raise version to 0.4.1 2015-11-30 20:27:01 +03:00
Alexey Andreev
e4a83b7d79 Raise version to 0.4.1-SNAPSHOT 2015-10-25 19:27:30 +03:00
Alexey Andreev
f25b2d46e8 Change version to 0.4.0 2015-10-22 08:25:53 +03:00
Alexey Andreev
9e5309a986 Run html4j tests via selenium 2015-10-20 22:27:59 +03:00
Alexey Andreev
7c4b4ebe77 Fix bug. Integrate precedence API into JSO 2015-10-11 18:03:46 +03:00
Alexey Andreev
6d23626867 Refactor precedence support 2015-10-11 17:30:28 +03:00
Alexey Andreev
ce434fc4ea Uncomment tests 2015-10-11 14:38:15 +03:00
Alexey Andreev
0aa8f8bda7 Fix date format tests to not depend from time zone 2015-10-11 11:54:37 +03:00
Alexey Andreev
44173021f2 Fix scripts in Firefox 2015-10-11 11:44:45 +03:00
Alexey Andreev
02d853adf7 Merge branch 'selenium' 2015-10-10 12:45:05 +03:00
Alexey Andreev
bac0785dc6 Add HtmlUnit test runner. Add travis + Sauce Labs config 2015-10-10 11:06:30 +03:00
Alexey Andreev
d29339f0b8 Test runner 2015-10-09 22:54:50 +03:00
Alexey Andreev
d007b0c8ac TeaVM test runner as a separate mojo 2015-10-09 18:30:31 +03:00
Alexey Andreev
5522f55c68 Deep refactoring of tooling libraries 2015-10-09 17:56:38 +03:00
Alexey Andreev
4082c6389a Fix LinkedList.push and .element methods 2015-10-08 19:59:38 +03:00
Alexey Andreev
6f173003b3 Developing selenium JUnit test runner 2015-10-07 19:16:11 +03:00
Alexey Andreev
219fab22ef Move JSO wrappers to separate project 2015-10-04 12:14:36 +03:00
Alexey Andreev
3341df3668 Change directory structure 2015-10-04 11:49:20 +03:00