Commit Graph

3303 Commits

Author SHA1 Message Date
Alexey Andreev
7ba0a7fe7d wasm gc: export exception tag from module 2024-08-02 14:31:00 +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
54dc7fe5f8 wasm gc: fix generation issues, get first version that produces module that passes validation 2024-08-01 19:57:12 +02:00
Alexey Andreev
a8d97ad387 wasm gc: cast receivers on devirtualized calls to actual argument type, avoid this cast when possible 2024-07-31 20:49:45 +02:00
Alexey Andreev
75bead66b3 wasm: support instructions that were recently implemented in generator 2024-07-31 17:31:39 +02:00
Alexey Andreev
5572d4b5d7 wasm gc: add subtyping information to types, fix generation of expressions 2024-07-30 20:57:36 +02:00
Alexey Andreev
a1a776ea9b wasm gc: trying to fix type validation 2024-07-30 17:33:31 +02:00
Alexey Andreev
87aaa0b452 wasm gc: fix issues in generation of types, globals and some expressions 2024-07-29 20:41:58 +02:00
Alexey Andreev
ea29208b6c wasm gc: trying to generate types according to unclear spec 2024-07-28 21:04:18 +02:00
Alexey Andreev
a281c19363 wasm gc: draft Wasm GC backend 2024-07-28 14:31:34 +02:00
Alexey Andreev
9f12917de9 js: remove long emulation 2024-07-25 19:43:29 +02:00
Alexey Andreev
f48c24283c wasm: implement transformation from TeaVM tree IR to Wasm GC 2024-07-24 20:21:22 +02:00
Alexey Andreev
172de8e737 wasm: move common part of wasm expression generator in order to later reuse it with Wasm GC BE 2024-07-22 20:16:16 +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
pizzadox9999
8889b63df7 jso: add TouchEvent bindings 2024-07-18 18:38:15 +02:00
Alexey Andreev
9b3652697d Bump Gradle version to 8.9 2024-07-11 19:29:54 +02:00
Alexey Andreev
e53af544a0 classlib: fix bug with precision in Formatter 2024-07-11 18:26:12 +02:00
Alexey Andreev
025801d385 Limit depth of method analysis in class initializer analysis in order to avoid too deep stack (and therefore SOE) 2024-07-11 18:18:24 +02:00
Alexey Andreev
7efb3c97a0 wasm gc: draft first parts of Wasm GC backend
* class metadata generator
* string pool generator
2024-07-09 19:42:37 +02:00
Alexey Andreev
efcb22b639 wasm: implement global variables
They aren't used by current Wasm BE yet, but will be used by future Wasm GC BE
2024-07-01 19:37:04 +02:00
Alexey Andreev
3ba2282473 wasm: implement several instructions related to reference types
These instructions will be presumably required for implementation of new Wasm GC BE. There's no tests for these changes, since there is no infrastructure to test anything like this. Instead, this code will be covered by tests for corresponding Wasm BE, when it's finally implemented.
2024-06-30 16:19:00 +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
55657036a1 idea: fix support for 2024.1+ 2024-06-10 19:41:34 +02:00
Alexey Andreev
683b80b2ec samples: remove unnecessary debug code 2024-06-10 19:41:20 +02:00
Alexey Andreev
5d237a98ae wasm: fix writing debug info when some class was not found 2024-05-15 19:24:33 +02:00
Alexey Andreev
1549a84b40 jso: remove JSByRef from IndexedDB method for which it's no more relevant
Fix #914
2024-05-12 16:19:11 +02:00
Alexey Andreev
236700ea58 samples: fix function that redirects stdout to DOM
Fix #920
2024-05-12 16:16:27 +02:00
Alexey Andreev
1b412073b9 wasm: support exception handling via native exception handling spec 2024-05-09 20:38:17 +02:00
ihromant
d40bd9989b jso: add files and streams API 2024-05-04 21:20:29 +02:00
Alexey Andreev
6df39dca2f Bump project version 2024-04-30 20:51:40 +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
e48dfb27b0 Improve inlining performance by caching method complexity 2024-04-29 16:32:24 +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
188d189407 js: improve performance of instanceof against interfaces 2024-04-26 10:37:12 +02:00
Alexey Andreev
19518eb191 jso: don't insert casts to JS classes in non-strict mode 2024-04-22 19:16:33 +02:00
Alexey Andreev
81fc843da3 jso: move interfaces from 'util.function' to 'function' subpackage, rename JSFunction to JSMapping to avoid name clash 2024-04-22 18:58:17 +02:00
Alexey Andreev
a1d711d069 jso: when casting to JS objects, don't fail cast when cast object is null 2024-04-16 20:03:19 +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
bca79a2c65 Bump versions of dependencies 2024-04-16 19:02:58 +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
abb1ea0070 samples: add html file for module demo 2024-04-12 21:16:02 +02:00
Alexey Andreev
271545a3ef gradle: support JS module type in dev server task 2024-04-12 21:15:12 +02:00