Commit Graph

2263 Commits

Author SHA1 Message Date
Alexey Andreev
3b170df2ca Fix nullness information builder 2019-09-30 18:23:38 +03:00
Alexey Andreev
a2a9dbcbe3 Improve performance of inliner in FULL optimization level
The former implementation suffered from class inference.
The reason was in many nodes having too many possible classes in them.
The new implementation does not handle full set of classes in each node.
Instead, it introduces concept of 'overflow', i.e. node having
more types than the given upper limit.
These nodes behave as if there were all possible classes in them,
which allows to apply certain optimization for these nodes and
omit heavy computations of large type sets.
2019-09-27 16:36:55 +03:00
mauro
9314461fcf Minor fix for classpath value in CodeServlet 2019-09-26 00:15:41 +03:00
Alexey Andreev
fe3436f053 C/Wasm: resizable heap 2019-09-24 17:48:17 +03:00
Alexey Andreev
f0b6cc2f30 Update version to 0.7.0 2019-09-24 16:26:14 +03:00
Alexey Andreev
379fae1c3b Don't update Eclipse plugin in set-version.sh 2019-09-07 22:19:03 +03:00
Alexey Andreev
5643e82a3d C: minor fixes for Linux 2019-09-07 22:08:32 +03:00
Alexey Andreev
a53f59e147 Fix build 2019-09-05 17:19:40 +03:00
Alexey Andreev
5b739238c2 More efficient filesystem implementation 2019-09-05 17:11:43 +03:00
Alexey Andreev
f47644d890 Move tool that generates JCL comparison into a separate project. Make this tool compatible with JRE9+ 2019-09-05 14:16:11 +03:00
Alexey Andreev
6e6783f93d C: regenerate only as small amount of classes as possible during incremental build 2019-09-04 19:04:12 +03:00
Alexey Andreev
e33cc5a807 C: split runtime into smaller parts 2019-09-03 14:01:30 +03:00
Alexey Andreev
9e9866398b C: generate return statement in main function 2019-08-29 14:34:06 +03:00
Alexey Andreev
6b0b30cb23 C: fix duplicate call of some <clinit> methods when using reflection 2019-08-29 14:33:23 +03:00
Alexey Andreev
5a8284222a C: fix support of weak references in GC 2019-08-26 19:50:10 +03:00
Alexey Andreev
f028f8db37 JS: don't remove class name from metadata when it's referenced indirectly from array class 2019-08-26 16:44:10 +03:00
Alexey Andreev
7a03ad6c5e Fix issue with <clinit> methods introduced by previous commit 2019-08-23 14:26:33 +03:00
Alexey Andreev
ed627459c8 Fix issue with async methods in code server 2019-08-23 13:44:03 +03:00
Alexey Andreev
bb62912bea Travis: trying to fix build 2019-08-21 14:23:27 +03:00
Alexey Andreev
75e38c51de Add support for some methods in NIO buffers from Java 11 2019-08-21 13:56:39 +03:00
Alexey Andreev
0a5ed2b4a5 Travis: add scripts to test if headless Chrome runs properly 2019-08-21 12:48:10 +03:00
Alexey Andreev
492fd004af C: add ability to write heap dump when application crashes 2019-08-19 15:51:41 +03:00
Alexey Andreev
e0ce6d1df6 Travis: replace Firefix with Chrome for running tests 2019-08-18 11:25:19 +03:00
Alexey Andreev
2e5bda4a40 Travis: revert Firefox configuration 2019-08-17 18:59:31 +03:00
Alexey Andreev
2b37daeee0 Travis: trying to get tests working on firefox 2019-08-17 17:49:51 +03:00
Alexey Andreev
836d2eeeff Travis: upgrade JDK and Firefox versions 2019-08-14 12:44:40 +03:00
Alexey Andreev
97f9967153 Make SSA and non-SSA liveness analyses. Fix aliasing local variable names with special variables.
Fix #416
2019-08-14 12:40:58 +03:00
Alexey Andreev
6307a67f8f C: allow to redefine directory where to write GC trace files 2019-08-13 13:40:25 +03:00
Alexey Andreev
67c86b089f Fix bug in liveness analysis when running on non-SSA IR 2019-08-13 11:37:21 +03:00
Alexey Andreev
1d19562c49 Fix Double.parseDouble and Float.parseFloat for some cases of illegal input 2019-08-12 16:38:52 +03:00
Alexey Andreev
c5334e344d C: add setting to generate code with lots of assertions 2019-08-12 15:12:48 +03:00
Alexey Andreev
0fdf58cbd8 C: implement heap defragmentation in GC 2019-08-12 15:12:27 +03:00
volth
d750847a19 teavm_printString: fix on linux 2019-08-07 19:11:56 +03:00
Alexey Andreev
ec9fe5471d Fix Long.bitCount. Fix #413 2019-08-07 18:48:06 +03:00
Alexey Andreev
dcd1f64c81 JS: fix instanceof T[], where T is non-primitive type 2019-08-07 18:34:06 +03:00
Alexey Andreev
e16ba8a6ca C: don't treat primitives as subtypes of Object. Fix #411 2019-08-07 13:45:40 +03:00
volth
2e27a3c218 fix ci 2019-08-07 13:14:20 +03:00
volth
c7309c06d0 ClassGenerator.prepare: handle IsInstanceInstruction case 2019-08-07 13:14:20 +03:00
Alexey Andreev
a5ba6f247e Fix register allocator 2019-07-30 11:23:52 +03:00
Alexey Andreev
1074293aad C: properly print stack trace when application crashes in Windows 2019-07-30 11:23:52 +03:00
Alexey Andreev
2d3d92f9a8 Update versions of Unicode data, CLDR, tzdata, asm and Rhino 2019-07-27 22:10:56 +03:00
Alexey Andreev
d9361e339a C: fix file IO in UWP 2019-07-26 17:00:13 +03:00
Alexey Andreev
c80e9ee431 C: don't add native functions to GC roots 2019-07-26 16:59:58 +03:00
Alexey Andreev
b5f64fd11a Fix bug in ThreadLocal 2019-07-25 11:14:04 +03:00
Alexey Andreev
a9ba21889a C: generate unreachable hint after throw statement to avoid compiler warnings 2019-07-23 18:19:40 +03:00
Alexey Andreev
ca3b565210 C: improve null check implementation 2019-07-23 16:33:13 +03:00
Alexey Andreev
a260067fde C: fix bug in GC 2019-07-23 14:15:59 +03:00
Alexey Andreev
90e00f7eb4 C: add option to support exceptions via setjmp/longjmp 2019-07-22 16:53:47 +03:00
Alexey Andreev
114ad986e4 C: fix initialization code 2019-07-15 19:34:02 +03:00
Alexey Andreev
db911c6623 C: fix compilation on Linux 2019-07-15 15:22:43 +03:00