Commit Graph

267 Commits

Author SHA1 Message Date
Alexey Andreev
3b4cc43e79 C: add option to strip off information about call site locations.
This decreases executable size significantly. However, this produces
obfuscated stack traces which can be deobfuscated using JSON symbol table.
2019-10-23 17:34:23 +03:00
Alexey Andreev
c78874f426 C/Wasm: don't generate names for classes when possible 2019-10-23 14:11:24 +03:00
Alexey Andreev
8a91605c56 Add support for Class.getCanonicalName/getEnclosingClass 2019-10-18 15:10:16 +03:00
Davin McCall
28212f70ff Correct the calculation in Math.hypot(). 2019-10-17 16:48:50 +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
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
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
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
Alexey Andreev
8749ecd0d1 C: fix System.nanoTime 2019-10-01 18:45:58 +03:00
Alexey Andreev
fe3436f053 C/Wasm: resizable heap 2019-09-24 17:48:17 +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
e33cc5a807 C: split runtime into smaller parts 2019-09-03 14:01:30 +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
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
Alexey Andreev
ec9fe5471d Fix Long.bitCount. Fix #413 2019-08-07 18:48:06 +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
b5f64fd11a Fix bug in ThreadLocal 2019-07-25 11:14:04 +03:00
Alexey Andreev
90e00f7eb4 C: add option to support exceptions via setjmp/longjmp 2019-07-22 16:53:47 +03:00
Alexey Andreev
9ad0ddd891 C: fix File.mkdirs() on Windows 2019-07-11 18:06:15 +03:00
Alexey Andreev
62b3c68a5b Don't report compile-0time error when there's possible way to reach suspension point. Generate runtime error instead. 2019-06-22 23:30:05 +03:00
Alexey Andreev
a65f8fdcd9 C: reduce number of warnings, redirect console to debugger in Windows 2019-06-20 15:06:15 +03:00
Alexey Andreev
9642eeec0a C: support passing strings as char16_t*, fix bugs under msvc 2019-06-17 15:16:44 +03:00
Alexey Andreev
d01ba897c0 Fix build 2019-06-14 15:38:44 +03:00
Alexey Andreev
6e71fa7e87 C: implement file IO in Windows 2019-06-14 15:32:20 +03:00
Alexey Andreev
fe6e796637 Fix bug in ArrayDeque 2019-06-11 16:21:39 +03:00
Alexey Andreev
c8676f7ffe JavaScript: fix filesystem issue 2019-05-31 17:36:32 +03:00
Alexey Andreev
91de1f6ca7 C: implement native file system 2019-05-31 15:05:23 +03:00
Alexey Andreev
6c9393548a JS: fix generation of Class.getDeclaringClass 2019-05-30 00:07:12 +03:00
Alexey Andreev
336590314c C: print stack trace in Logger class 2019-05-27 10:43:13 +03:00
Alexey Andreev
3364022313 classlib: add URLEncoder and URLDecoder 2019-05-24 17:34:33 +03:00
Alexey Andreev
8b3df6f730 C: fix bugs, introduce new virtual table builder 2019-05-23 15:18:25 +03:00
Alexey Andreev
7f875aa568 C: support methods of Date class 2019-05-21 15:17:58 +03:00
Alexey Andreev
2eafb902f4 C: support weak references 2019-05-17 17:40:45 +03:00
Alexey Andreev
86b5daa3cf Add annotations to mark classes and methods supported on some platforms 2019-05-17 11:44:35 +03:00
Alexey Andreev
3d96616761 JS: reduce precision of float constants 2019-05-13 17:39:18 +03:00
Alexey Andreev
da22256c1f C: compile into multiple .c and .h files 2019-05-08 17:36:46 +03:00
Alexey Andreev
093b506c9a Improve resolution of System.nanoTime 2019-04-29 16:24:07 +03:00
Alexey Andreev
8a45dc300c C backend: fix bug Class implementation. Don't emit unnecessary Object.monitor field 2019-04-26 18:26:23 +03:00
Alexey Andreev
cbc8d3f638 C backend: bugfixes 2019-04-22 19:03:37 +03:00
Alexey Andreev
ec8bae1d40 C: fix bugs in RTTI. Support args parameter of main method 2019-04-04 18:34:30 +03:00
Dylan
d18d50a823 Add missing forEach to TIterable 2019-04-02 11:28:11 +03:00
Alexey Andreev
d2a7e31eca Proper fix for recent bug in C backend. Fix Thread.daemon flag 2019-03-27 18:29:02 +03:00
Alexey Andreev
0dc170dad2 Fix bugs in C backend 2019-03-26 19:09:25 +03:00
Alexey Andreev
f33c90f778 Improve <clinit> elimination:
* Generate clinit instruction instead of calling <clinit>
  directly
* Rename annotation that indicates absence of side effects
* Don't apply this annotation automatically to all JSBody methods
2019-03-24 12:54:06 +03:00