Alexey Andreev
1b78ef99a6
Fix bugs in node splitting or irreducible graphs
2018-10-24 18:16:59 +03:00
Alexey Andreev
ef011d429d
Ignore flaky test
2018-10-19 17:20:07 +03:00
Alexey Andreev
8a55510d4f
Fix bug in dependency analyzer
2018-10-19 14:47:34 +03:00
Alexey Andreev
f206cbe2d1
Reorder modifiers to get less metadata size
2018-10-04 19:07:23 +03:00
Alexey Andreev
4c4c589172
Various code size optimizations
...
1. Generate 'a' for 'this' instead of '$t'
2. Fix frequency-based identifier optimization
3. Generate less code in <clinit> callers
4. Generate one-letter identifier in most of constructors
(instead of $r)
5. Use $ and _ chars in identifiers
2018-10-04 16:29:05 +03:00
Alexey Andreev
b66053f5ce
Don't generate virtual wrappers for methods that aren't ever called virtually
2018-10-04 11:55:34 +03:00
Alexey Andreev
681e21ecca
Store class names in metadata as a pair of package and simple name
2018-10-03 16:01:37 +03:00
Alexey Andreev
0a94c91ff2
Don't generate unused class names in metadata section
2018-10-03 14:46:52 +03:00
Alexey Andreev
be21e474c5
Generate shorter <clinit> caller names in minified mode
2018-10-03 12:48:14 +03:00
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