Commit Graph

760 Commits

Author SHA1 Message Date
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
Alexey Andreev
7668ef66fb Fix phi updater 2016-09-17 08:42:54 +03:00
Alexey Andreev
85cbb4a75c Further work on incremental phi updater 2016-09-17 08:42:51 +03:00
Alexey Andreev
6b6c968aea Make bytecode parser to cache method references to reduce memory consumption 2016-07-28 23:51:39 +03:00
Alexey Andreev
a3f60996e2 Fix https://github.com/konsoletyper/teavm/issues/196 2016-07-28 22:23:39 +03:00
Alexey Andreev
6e2eb8386b Repair information about variable names in debug tables 2016-06-25 18:58:45 +03:00
Alexey Andreev
18c0ebcd04 Fix code to pass checkstyle. Trying to fix travis configuration 2016-06-24 05:23:41 +03:00
Alexey Andreev
9fc6f02875 Further work on incremental phi updater 2016-06-05 23:06:09 +03:00
Alexey Andreev
d196eb9864 Further work on incremental phi updater 2016-06-05 20:58:23 +03:00
Alexey Andreev
66931401a8 Further work on incremental phi updater 2016-06-05 17:36:43 +03:00
Alexey Andreev
859f428036 Further work on incremental phi updater 2016-06-03 23:57:08 +03:00
Alexey Andreev
ca521f74f0 Further work on incremental phi updater 2016-05-23 22:35:55 +03:00
Alexey Andreev
5ac195df5a Refactor phi placement 2016-05-14 23:58:48 +03:00
Alexey Andreev
3d69167280 Refactor block mappers. Remove phi placement from loop inversion, since it's easier to make SSATransformer incremental and call it after each application of loop inversion 2016-05-14 23:36:19 +03:00
Alexey Andreev
8abf4797af Merge remote-tracking branch 'origin/master' into optimizations 2016-05-13 20:47:38 +03:00
Alexey Andreev
02f414b61a Speed up allocation of objects and arrays 2016-05-12 22:25:31 +03:00
Alexey Andreev
062f30634c Fix support of SWAP instruction 2016-05-11 22:05:50 +03:00
Alexey Andreev
3f58e3b24f When name of method parameter is not an identifier, mangle it to contain only Java identifier character 2016-05-11 21:15:36 +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
a57be365b4 Implementing loop inversion 2016-05-07 17:36:38 +03:00
Alexey Andreev
894e39c59f Move static fields from class scope to global scope 2016-04-17 13:26:29 +03:00
Alexey Andreev
2d79da7b1b Fix compilation of pop2 instruction when top two entries are values of type 1 2016-04-15 23:07:30 +03:00
Alexey Andreev
f63ec25ed3 Move metaprogramming API implementation into separate module 2016-04-12 22:54:32 +03:00
Alexey Andreev
74a0278881 Merge branch 'metaprogramming' of https://github.com/konsoletyper/teavm into metaprogramming 2016-04-12 22:18:47 +03:00
Alexey Andreev
da42e5e3eb Add optimizations to metaprogramming implementation 2016-04-12 22:14:15 +03:00
Alexey Andreev
84d9899b3e Implement metaprogramming proxies 2016-04-06 23:02:15 +03:00
Alexey Andreev
8df8191dae Fix bug with capturing phi inputs 2016-03-02 23:14:23 +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
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
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
5ae384538d Fix https://github.com/konsoletyper/teavm/issues/167 2015-12-25 18:30:05 +03:00
Alexey Andreev
b61849ce80 Fix metaprogramming bugs 2015-12-10 23:05:17 +03:00
Alexey Andreev
ba54f82dc0 Fix parsing InvokeDynamic method handle 2015-11-29 10:45:29 +03:00
Alexey Andreev
7fd414c84e Minor bugfixes 2015-11-08 23:52:40 +03:00
Alexey Andreev
6d45f57a39 Add methods to submit class file directly as byte array 2015-10-29 16:13:47 +03:00
Alexey Andreev
b12404ee7e Fix emit API. Fix several JS wrappers. 2015-10-25 19:22:48 +03:00
Alexey Andreev
f3a4d3737b Allow to submit method during dependency check 2015-10-21 21:35:22 +03:00
Alexey Andreev
8702f7ee33 Repair incremental builder 2015-10-21 20:51:43 +03:00
Alexey Andreev
804b51abf5 Fix bug in method submit API 2015-10-21 18:45:37 +03:00
Alexey Andreev
0340bb9c73 A new API to generate additional methods after dependency checking 2015-10-21 16:03:06 +03:00
Alexey Andreev
2640234391 Rename achieved -> reached. Fix - operator generation in minified mode 2015-10-21 12:08:30 +03:00
Alexey Andreev
84be461a69 Fix async test building. Fix Window.prompt. Fix non-integer JS number to
Java primitive conversion
2015-10-19 16:49:27 +03:00
Alexey Andreev
732957cd84 Fix bugs 2015-10-15 16:03:11 +03:00
Alexey Andreev
cf92616a6a Add pluggable test runner. Add html4j adapter that relaunches test
several times if it throws InterruptedException. Attempting to fix
decompilation errors in some CFGs with try/catch statements
2015-10-15 11:03:06 +03:00
Alexey Andreev
f6bc6f2fcf Fix plugin ordering. Exclude branches from travis 2015-10-12 20:51:46 +03:00
Alexey Andreev
c7026c1299 Add plugin ordering annotations and implementation 2015-10-12 18:39:29 +03:00
Alexey Andreev
5592862c70 More JS API fixes 2015-10-11 18:49:57 +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
d29339f0b8 Test runner 2015-10-09 22:54:50 +03:00
Alexey Andreev
5522f55c68 Deep refactoring of tooling libraries 2015-10-09 17:56:38 +03:00
Alexey Andreev
90fec4e219 Refactoring test compiler 2015-10-08 18:27:48 +03:00
Alexey Andreev
e83d4106d8 Prototype implementation of selenium test runner 2015-10-08 17:56:16 +03:00
Alexey Andreev
6f173003b3 Developing selenium JUnit test runner 2015-10-07 19:16:11 +03:00
Alexey Andreev
3341df3668 Change directory structure 2015-10-04 11:49:20 +03:00