Alexey Andreev
6b063bc567
Some code size optimizations
...
1. Eliminate empty switch statements
2. Eliminate unnecessary == 0 and != 0 conditions in 'if'
2018-10-03 11:57:51 +03:00
Alexey Andreev
168bf1fa9c
Add option to print size statistics of generated JS code
2018-10-03 11:08:15 +03:00
Alexey Andreev
0473020bc8
Prevent from generating functions with NaN identifier
2018-09-04 17:28:10 +03:00
Alexey Andreev
50573f4f06
Prevent minifier from generating NaN function
2018-08-30 11:10:23 +03:00
Alexey Andreev
f5c6ac9c5d
Improve performance of dependency analyzer, decrease memory consumption
2018-08-29 13:20:16 +03:00
Alexey Andreev
365e47882a
Avoid generation of too deeply nested expressions to fit into v8 parser stack
2018-08-27 22:08:03 +03:00
Alexey Andreev
d6363c5fbf
Fix NPE in dependency analyzer. Fix excessive types propagating in dependency analyzer
2018-08-27 16:17:23 +03:00
Alexey Andreev
558c3f2f1e
Fix bugs in dependency analyzer, introduced by previous optimizations
2018-08-23 13:26:26 +03:00
Alexey Andreev
0ebf8c2f6e
Reduce memory consumption
2018-08-20 18:56:16 +03:00
Alexey Andreev
2dd145a731
Improve performance of dependency analysis
2018-08-20 18:41:08 +03:00
Alexey Andreev
7f46c301bd
IDEA: allow to configure build daemon heap size
2018-07-31 16:31:09 +03:00
Alexey Andreev
67afe6173e
Improve performance of compilation of large code bases
2018-07-31 12:14:53 +03:00
Alexey Andreev
5b5417d46b
Improve performance of dependency analysis
2018-07-04 11:53:53 +03:00
Alexey Andreev
4e20a1de18
Properly handle checkcast to array type in dependency analyzer
2018-07-03 19:11:51 +03:00
Alexey Andreev
3653e39bec
Add system property that triggers printing of dependency analyzer summary report
2018-06-29 17:32:26 +03:00
Alexey Andreev
f160ce2f2f
Use class/method names to generate lambda class names. Reduce number of types propagated by dependency analyzer
2018-06-29 16:46:36 +03:00
Alexey Andreev
097820cc2b
Wasm backend: implement remaining types of resources
2018-05-20 23:54:23 +03:00
Alexey Andreev
5ce48ce866
Wasm backend: fix issues related to instanceof expression
2018-05-19 22:56:16 +03:00
Alexey Andreev
27a4848947
Make more precise type inference. The old algorithm sometimes reported wrong results on multidimensional primitive arrays
2018-05-19 20:40:47 +03:00
Alexey Andreev
15b77ee752
Wasm backend: fix Array.get
2018-05-17 23:58:14 +03:00
Alexey Andreev
9b2e00cb9f
Wasm backend: support reinterpret conversion in C wasm emulator
2018-05-17 23:58:01 +03:00
Alexey Andreev
dbe31c43bf
Wasm backend: write function index in AST representation to make easier navigation and debugging
2018-05-17 19:39:22 +03:00
Alexey Andreev
bb3a2a22fe
C backend: add GTK version of jbox2d benchmark.
2018-05-17 01:14:37 +03:00
Alexey Andreev
c7b6544537
C backend: allow to pass Java string to C code
2018-05-16 23:20:20 +03:00
Alexey Andreev
f0d97a72ab
Wasm backend: add intrinsics for some Float and Double methods
2018-05-16 20:15:13 +03:00
Alexey Andreev
d7b57ae938
Update asm version to 6.1.1 and versions of Maven plugins that use old asm in order to support Java 10 bytecode version.
2018-05-15 16:20:20 +03:00
Alexey Andreev
d3a9f57c1c
C backend: avoid generation of deeply nested blocks and long lines (such code is rejected by MSVC).
2018-05-14 22:34:37 +03:00
Alexey Andreev konsoletyper@gmail.com
4d8f33d994
C backend: few fixes for MVSC
2018-05-14 01:15:29 +03:00
Alexey Andreev
76ca3f06cf
C backend: make compiled binary independent of load location
2018-05-13 23:27:27 +03:00
Alexey Andreev
8cf69db8bb
Wasm backend: copy wasm-runtime.js to the output directory. Fix wasm benchmark according latest changes
2018-05-13 19:45:25 +03:00
Alexey Andreev
c9ebe2e2e9
Wasm backend: fix more tests. Implement Array.get. Implement x instanceof C for all cases.
2018-05-13 19:17:45 +03:00
Alexey Andreev
f23128bb13
Wasm backend: fix many tests
2018-05-12 23:43:53 +03:00
Alexey Andreev
5e3514e5dd
Wasm backend: fix low-level memory copying function
2018-05-11 20:02:52 +03:00
Alexey Andreev
a81eeeee03
Wasm backend: fix hanging tests, make more tests pass, change name generation scheme
2018-05-10 17:41:28 +03:00
Alexey Andreev
b087610c2c
Wasm backend: make JUnit tests work
2018-05-08 23:31:51 +03:00
Alexey Andreev
f532801f38
C backend: implement support for ResourceArray and ResourceMap
2018-05-07 19:30:00 +03:00
Alexey Andreev
401a9ed212
C backend: improve representation of string literals, fix them for various corner cases
2018-05-06 00:48:27 +03:00
Alexey Andreev
37efbd742b
C backend: more bugfixes
...
* Fix cloning Object[] in 64-bit systems
* Fix generation of x instanceof Interface
* Fix a % b when a and b are float or double
* Fix generation of unreachable virtual calls
2018-05-05 23:35:17 +03:00
Michele Comignano
c11b868c0b
Add IdentityHashMap, improve distribution of identityHashCode
...
Add IdentityHashMap, improve distribution of identityHashCode
2018-05-05 22:05:22 +03:00
Alexey Andreev
ff07b28bee
C backend: fix bugs in exception handling transformer
2018-05-05 22:03:20 +03:00
Alexey Andreev
52ddd96c7d
Fix duplicate <clinit> execution in some cases when accessing class through reflection
2018-05-05 18:38:18 +03:00
Alexey Andreev
d2aa37d6a4
C backend: fix more bugs, pass more tests
2018-05-05 15:17:35 +03:00
Alexey Andreev
899725b6bd
C backend: fix bug in type inference, fix code generation for small int and long values
2018-05-04 19:05:11 +03:00
Alexey Andreev
4530167061
C backend: implement support for simple cases of resources
2018-05-01 00:54:11 +03:00
Alexey Andreev
ee2f389027
C backend: make more tests pass
2018-04-28 18:49:26 +03:00
Alexey Andreev
18eb3ee058
C backend: make more tests pass
2018-04-27 00:47:38 +03:00
Alexey Andreev
fa07100024
C backend: major improvements to interop
...
1. Function.get that allows to convert static Java method
to a C function pointer
2. Address.ofData that gets address (void*) of Java array data
3. `@Include` annotation to add `#include` to generated C
when using some method or class
2018-04-24 00:36:25 +03:00
Alexey Andreev
38267980fb
Run C test compilation in multiple threads
2018-04-21 12:24:31 +03:00
Alexey Andreev
8f0320e217
Fix bugs in C backend to make more tests pass
2018-04-21 00:55:43 +03:00
Alexey Andreev
4990dbe8e4
Add support for C backend in TeaVMTestRunner
2018-04-20 22:58:09 +03:00