Commit Graph

2720 Commits

Author SHA1 Message Date
Alexey Andreev
1232f20ae4 Add protection against exception fall though one Java machine running another Java machine.
When one TeaVM program calls `eval` and code passed to eval is itself generated
with TeaVM, the inner code can throw uncaught Java exception. The outer code could
try to catch this exception as a native JavaScript exception, but this is not possible,
since the exception is marked as Java exception, and inner scripts's Java class
does not inherit java.lang.Throwable of outer script. The solution for each script
to generate own tag (Symbol) and only treat JS exception as Java exception when
this exception has this tag.
2020-04-30 16:05:24 +03:00
Alexey Andreev
9f823ee450 Minor improvements to time zone support 2020-04-30 15:49:37 +03:00
Alexey Andreev
a9e7e51c51 Properly support non-ASCII characters in System.out and System.err 2020-04-30 14:49:33 +03:00
Alexey Andreev
c7c47f63ee Implement Math.nextDown, reimplement ulp and nextUp using bit operations 2020-04-30 14:19:50 +03:00
Alexey Andreev
d50e048ea4 Add Character.toTitleCase. More efficient implementation for Character.digit 2020-04-14 18:31:19 +03:00
Alexey Andreev
0c8d93acbc Add DecimalFormat.setDecimalFormatSymbols 2020-04-14 16:40:45 +03:00
Alexey Andreev
1681aa5834 Implement some of the missing Timer methods 2020-04-14 16:10:17 +03:00
Alexey Andreev
ddf64870da Implement some of the missing methods related to streams 2020-04-14 15:06:58 +03:00
Alexey Andreev
2bc9329cf8 Implement some of the missing methods in ThreadLocalRandom 2020-04-14 14:03:15 +03:00
Alexey Andreev
061bb859d5 Implement ThreadLocalRandom, implement some of missing Random methods 2020-04-14 12:07:56 +03:00
Alexey Andreev
a074906ea7 Implement AtomicReference 2020-04-14 09:25:20 +03:00
Adam J Ryan
e0fc5d834b Add ability to fine tune transpiler class substitutions. 2020-04-01 19:32:34 +03:00
Jörg Hohwiller
3254dce53b added module names form JPMS 2020-04-01 18:57:28 +03:00
Jörg Hohwiller
67cf421819 prevent javadoc error: The code being documented uses modules but the packages defined in URL are in the unnamed module. 2020-04-01 18:57:00 +03:00
Ondra Pelech
1b8f5940a0 Update Scala to 2.12.11 2020-04-01 18:53:15 +03:00
Jörg Hohwiller
b5237fb20e
Add Flow API for reactive programming (#486) 2020-03-13 11:28:36 +03:00
Jörg Hohwiller
c2d27fdb1a
Add support for String.isBlank() (#482) 2020-03-10 11:28:54 +03:00
Jörg Hohwiller
a45d1e0d07
Support for Thread.UncaughtExceptionHandler (#483) 2020-03-10 11:28:02 +03:00
Alexey Andreev
a152a28a2d C: fix bug in array initializers 2020-03-04 11:37:04 +03:00
Alexey Andreev
37f07b80c3 JS: generate shorter names for Long operations and array creation in minified mode 2020-03-04 13:23:19 +03:00
Alexey Andreev
3ff05d1c5d Eliminate redundant try/catches in generated bytecode for enums 2020-03-04 12:14:25 +03:00
Alexey Andreev
37e6ca3e17 Recognize array initialization pattern in bytecode and translate it to array initializer in target platform 2020-03-03 18:34:48 +03:00
Alexey Andreev
66250cb125 Use advanced optimization level to compile JS benchmark 2020-03-03 18:24:29 +03:00
Alexey Andreev
2ad5baaccc JS: don't write single return statement 2020-03-03 15:01:33 +03:00
Alexey Andreev
eb3490dba0 Improve inlining 2020-03-03 14:34:27 +03:00
Alexey Andreev
146776ff55 JS: reduce size of declaration of classes without fields 2020-03-03 12:47:06 +03:00
Alexey Andreev
c1891a1908 Further work on decreasing generated code size 2020-03-03 12:17:39 +03:00
Alexey Andreev
b71a2b6c65 Compile tests with Java version 11 2020-03-02 17:19:15 +03:00
Alexey Andreev
6d1c0f037e Ignore failing html4j test 2020-03-02 16:56:33 +03:00
Alexey Andreev
ea1134d66b Trying to reduce number of classes for which name is provided in their metadata 2020-03-02 16:36:09 +03:00
Alexey Andreev
46e786d957 JS: commit forgotten html test template file 2020-03-02 16:18:08 +03:00
Alexey Andreev
cb26a10251 JS: when running tests, create proper HTML files to allow debugging these tests 2020-03-02 15:58:28 +03:00
Alexey Andreev
81235ac714 JS: reduce size of wrapped virtual methods 2020-03-02 11:50:45 +03:00
Alexey Andreev
8d1eb3fcc6 Better optimization of <clinit> when reading other's class static final fields 2020-03-02 11:23:58 +03:00
Alexey Andreev
a30702aa70 Add missing import 2020-03-02 11:22:21 +03:00
Kris Scheibe
160fa2b1fa
Java 9 collection factories (#478)
Adds the collection factories List.of(...), Set.of(...), Map.of(...) and Map.ofEntries(...) which were introduced to the JDK in Java 9
2020-03-02 11:20:43 +03:00
Jörg Hohwiller
60d0ad902c added support for java.lang.reflect.Type 2020-03-02 11:15:24 +03:00
Alexey Andreev
2f95045345 Improve optimization of unused methods that were inlined on every usage 2020-02-28 14:42:51 +03:00
Alexey Andreev
aefdee2507 Fix checkstyle errors 2020-02-27 19:02:47 +03:00
Alexey Andreev
ea36a1fca8 Fix checkstyle errors 2020-02-27 18:57:45 +03:00
Alexey Andreev
7f02ccdd87 Mark some tests with @WholeClassCompilation 2020-02-27 18:43:27 +03:00
Alexey Andreev
95426e2159 Add per-class compilation when running tests (requires @WholeClassCompilation annotation) 2020-02-27 18:43:08 +03:00
Alexey Andreev
150a613709 C/Wasm: trying to fix GC (again) 2020-02-26 14:51:40 +03:00
Alexey Andreev
84aa50e7eb C/Wasm: trying to fix GC 2020-02-26 14:38:01 +03:00
Alexey Andreev
6790ad0818 Code server: fix proxying gzipped resources 2020-02-26 14:27:58 +03:00
Jörg Hohwiller
eeca1a502c added Element.id property 2020-02-26 10:38:49 +03:00
Dennis Bijlsma
cbbf7b5298 Add support for URL encode/decode methods added in Java 10. 2020-02-25 11:41:34 +03:00
kris-scheibe
9daba6e5a6 add HTMLElement.innerText 2020-02-25 10:47:17 +03:00
Alexey Andreev
0e7c1e5ef9 Wasm: don't generate class metadata if it's not used. Don't generate names and call site metadata in minified mode 2020-02-21 17:29:31 +03:00
Alexey Andreev
3f2c52000f Wasm: support null checks and array bound checks 2020-02-21 16:32:45 +03:00