Commit Graph

2538 Commits

Author SHA1 Message Date
Alexey Andreev
e569eaa8a6 C: write test error to stderr rather than stdout 2019-10-15 11:53:31 +03:00
Alexey Andreev
8038f90fd8 Support new format of debug information in C and WASM
This allows to keep proper stack traces in FULL optimization mode,
when aggressive inlining is applied
2019-10-15 11:47:40 +03:00
Artem Godin
e46f204b4e #431: Add support for char annotation methods
Fixes #431
2019-10-14 14:06:21 +03:00
Alexey Andreev
4ef231c7fa JS: preserve stack trace items when agressive inlining enabled 2019-10-14 14:05:06 +03:00
Colorize
abf90e8b5f Fill in some gaps in the class library (#429)
* Fill in some gaps in the class library:
- the inner classes are marked as public in the JDK, but not in TeaVM's version
- added Color/Dimension/Point, these are defined in AWT, but also accessed from elsewhere in the JDK
- added UUID emulation
- added more logging classes so that applications don't immediately crash when trying to initialize logging
2019-10-10 11:42:20 +03:00
Alexey Andreev
e762f26a40 Keep location stack in IR when inlining methods 2019-10-08 16:09:07 +03:00
Alexey Andreev
c6f6125622 JS: remove unnecessary link to runtime.js from archetype HTML 2019-10-08 11:15:55 +03:00
Alexey Andreev
92403f9ec0 Fix bug in metaprogramming API 2019-10-07 18:45:43 +03:00
Alexey Andreev
378111d767 C: fix generation of heap dump 2019-10-07 17:43:18 +03:00
Alexey Andreev
94a96f571b C: support array bound checking 2019-10-07 16:55:31 +03:00
Alexey Andreev
6f50eefaf9 JS: add null check in strict mode 2019-10-07 16:55:30 +03:00
Alexey Andreev
bffb50f0cd Implement array bounds checking in JavaScript 2019-10-07 16:55:30 +03:00
Alexey Andreev
a1d7153cab Add instruction to perform array bound check 2019-10-07 16:55:30 +03:00
Alexey Andreev
80fb6c1f81 More explanations about license in readme 2019-10-07 15:03:48 +03:00
Matt McHenry
2d1bc6c956 mark certain features of Date unsupported on wasm
this gives much clearer feedback, at build time rather than runtime,
when attempting to use TeaVM with code that uses these operations.
2019-10-06 21:10:40 +03:00
Matt McHenry
ec21f2d8e1 mark threading primitives unsupported on wasm
this gives much clearer feedback, at build time rather than runtime,
when attempting to use TeaVM with code that uses these operations.
2019-10-06 21:10:40 +03:00
Alexey Andreev
89ea97d00f JS: revert $rt_compare implementation since new one does not work properly 2019-10-04 16:40:41 +03:00
Colin Alworth
4e0381950a Added WebSocket.send overrides to support typedarrays 2019-10-04 11:50:16 +03:00
Alexey Andreev
3194a403b8 C/Wasm: reduce memory consumption in GC 2019-10-02 13:55:23 +03:00
Alexey Andreev
67ab91db00 Travis: deploy CLI project to Maven repository 2019-10-01 18:48:49 +03:00
Alexey Andreev
8749ecd0d1 C: fix System.nanoTime 2019-10-01 18:45:58 +03:00
Alexey Andreev
63bbb35cb1 WASM: fix benchmark sample 2019-10-01 14:53:42 +03:00
Alexey Andreev
ae896f3d90 WASM: bugfixes 2019-10-01 14:52:28 +03:00
Max Graey
e23293a8af Minor improvements for javascript runtime (#425) 2019-10-01 11:29:30 +03:00
Alexey Andreev
810ee0f49e JS: fix crash on some JavaScript constructs in hand-written runtime code 2019-09-30 18:36:05 +03:00
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