Commit Graph

585 Commits

Author SHA1 Message Date
Alexey Andreev
10c3731c43 wasm gc: fix some issues and implement intrinsics
* properly cast exception type on catch blocks
* generate virtual table structures lazily
* fix calculation of types of a.field values
2024-08-27 13:28:49 +02:00
Alexey Andreev
4a345610cf wasm gc: reduce number of generated virtual table entries, reduce size of a simple program 2024-08-23 21:10:44 +02:00
Alexey Andreev
3e19ca341e wasm gc: fix support of class initialization, inherit arrays from Object, add support for clone in arrays 2024-08-23 21:10:44 +02:00
Alexey Andreev
335e2da4cf wasm gc: implement System.identityHashCode() and some Integer intrinsics 2024-08-23 10:14:39 +02:00
Alexey Andreev
5d109236d9 wasm gc: fix running tests in JUnit, fix remaining errors so that *few* tests pass 2024-08-21 14:29:56 +02:00
Alexey Andreev
5eb1e7d9bc wasm gc: implement intrinsics for Long and Class classes 2024-08-18 19:55:25 +02:00
Alexey Andreev
8dd344412e classlib: fix support of null string in System.out/err streams 2024-08-17 20:48:38 +02:00
Alexey Andreev
199032d48a wasm gc: support Array.newInstance 2024-08-17 20:48:03 +02:00
Alexey Andreev
eaf2c8189f wasm gc: implement some basic reflection-specific intrinsics in Object and Class 2024-08-13 20:51:20 +02:00
Alexey Andreev
e4fa6bd364 wasm gc: reduce number of generated virtual tables, fix non-matching types in case of null literals 2024-08-02 13:50:49 +02:00
Alexey Andreev
9b5e1e7661 wasm gc: fix remaining issues that prevent running trivial example 2024-08-01 20:25:18 +02:00
Alexey Andreev
a281c19363 wasm gc: draft Wasm GC backend 2024-07-28 14:31:34 +02:00
Alexey Andreev
13a959ce67 classlib: fix String.replace, add optimizations for some corner cases
Fix #932
2024-07-18 18:51:42 +02:00
Alexey Andreev
e53af544a0 classlib: fix bug with precision in Formatter 2024-07-11 18:26:12 +02:00
Jonathan Coates
1e5e9d50ed
classlib: add FileTime and BasicFileAttributes (#929) 2024-06-30 13:30:00 +02:00
Alexey Andreev
d6474c3aeb wasm: add model definitions for GC spec
- refactor Wasm type representation to include reference types
- refactor function representation for consistency with new type system

First step toward Wasm GC support
2024-06-26 20:41:01 +02:00
Alexey Andreev
3f74817af7 classlib: implement BufferedReader.lines 2024-04-29 20:19:46 +02:00
Alexey Andreev
0dd10899a0 classlib: implement CharSequence chars and codePoints 2024-04-29 19:15:27 +02:00
Alexey Andreev
d4f98a57d0 classlib: fix Stream.dropWhile 2024-04-27 20:26:22 +02:00
Alexey Andreev
31674f9744 classlib: improve performance of Appendable operations in System.out/System.err 2024-04-27 19:30:57 +02:00
pcoperatr
1a1c534535
classlib: add missing implementation of Appendable interface to PrintStream 2024-04-26 23:48:09 +03:00
Alexey Andreev
c066864c68 classlib: fix bug in Stream.takeWhile
Fix #913
2024-04-26 21:30:13 +02:00
Alexey Andreev
e94b171fe9 Update CLDR 2024-04-16 19:06:02 +02:00
Alexey Andreev
ed908cb592 Update tzdata 2024-04-16 19:03:51 +02:00
Alexey Andreev
e7c28da4e2 classlib: fix ThreadLocal implementation for multi-thread case 2024-04-16 18:40:44 +02:00
Alexey Andreev
931f0f1f4a jso: support varargs in exported classes and modules 2024-04-15 20:53:24 +02:00
Alexey Andreev
9b41e3e814 classlib: add CopyOnWriteArrayList implementation 2024-04-09 21:01:41 +02:00
Alexey Andreev
e069bc3a44 classlib: implement WeakHashMap
Fix #799
2024-04-03 19:11:48 +02:00
Alexey Andreev
005765aa6e classlib: add String.formatted 2024-03-21 19:23:28 +01:00
Alexey Andreev
da0eb4e1e3 classlib: add PrintStream.printf 2024-03-21 19:18:42 +01:00
Alexey Andreev
403da28830 classlib: add PrintStream.format 2024-03-21 19:14:45 +01:00
Alexey Andreev
b792f48b55 classlib: add java.util.concurrent.CancellationException 2024-03-21 18:36:37 +01:00
Alexey Andreev
b2bfa494e6 classlib: add java.io.InvalidClassException 2024-03-21 18:34:12 +01:00
Alexey Andreev
e4452152b7 jso: improve JS class import to Java 2024-02-27 20:16:10 +01:00
Alexey Andreev
c95af17eae classlib: fix javadoc warning 2024-02-19 20:18:03 +01:00
Alexey Andreev
c1b3deedff Support @Inherited annotation on annotations
Fix #883
2024-02-19 20:14:00 +01:00
Bernd Busse
be09e698ea classlib: remove hardcoded dependecy to TRoundingMode in NumberFormat 2024-02-17 21:05:55 +03:00
Bernd Busse
cf850157f0 classlib: fix javadoc warnings 2024-02-15 11:59:43 +03:00
Alexey Andreev
6ac598b927 js: add limit for top-level declarations
Rationale: turns out that V8 utilizes stack even to represent module-level functions.
This can cause SOE when there's too many classes and methods in source JVM
2024-02-01 09:41:50 +01:00
Bernd Busse
83e3306071 classlib: extend BigInteger implementation with xValueExact() and sqrt() 2024-01-24 21:56:12 +03:00
Bernd Busse
4e076a65ee classlib: add BigInteger constant TWO added in Java 9 2024-01-24 21:56:12 +03:00
Bernd Busse
9280992661 classlib: add minimal SecureRandom implementation
- Utilizes JavaScript's window.crypto.getRandomValues() when available,
  otherwise uses the general Math.random() as fallback.
- No support for providers
- No support for proper randomness sources on non-JS backends
2024-01-24 20:48:28 +03:00
Bernd Busse
1964235fef classlib: directly use Math.random() in Random
Math.random() already handles the implementation for the backends,
delegating to JavaScript's Math.random() or the C runtime
implementation.

Fixes duplicate symbols when using the WASM backend.
2024-01-24 20:48:28 +03:00
Bernd Busse
6de4560282 classlib: implement Cloneable for TreeSet 2024-01-24 20:46:26 +03:00
Bernd Busse
6a398c9b8d classlib: properly duplicate inner map when cloning TreeMap 2024-01-24 20:46:26 +03:00
Bernd Busse
2318caad7b
classlib: add static nullOutputStream() to OutputStream (#878) 2024-01-24 20:44:59 +03:00
Alexey Andreev
facf3c496f classlib: get rid of call to Math.log 2023-12-07 19:55:47 +01:00
J. Fronny
953c475b46
classlib: implement float support for String.format (#873) 2023-12-07 19:16:38 +01:00
Alexey Andreev
bb837bd020 classlib: replace usage of Math.log10 with custom implementation of int log10 algorithm
This fixes BigDecimal support on WASI, which does not support log10 at the moment
2023-12-07 19:14:55 +01:00
J. Fronny
9093ad2f8a
classlib: implement String.chars() (#872) 2023-12-05 13:26:39 +01:00