Alexey Andreev
e4a2550cc6
wasm gc: add support for imports from JS
2024-10-17 19:35:23 +02:00
Alexey Andreev
40d2ab97ec
wasm gc: add stack trace deobfuscator
2024-10-12 20:04:38 +02:00
Alexey Andreev
14a4a99fa5
wasm gc: fix exporting classes to JS
2024-10-10 19:12:40 +02:00
Alexey Andreev
f61d893b6d
wasm gc: fully support exporting classes to JS
2024-10-09 19:28:45 +02:00
Alexey Andreev
0dcc25d66b
wasm gc: support exporting declarations as JS entities from module
2024-10-08 20:09:43 +02:00
Alexey Andreev
7aec0763fa
wasm gc: fix issue with JS exceptions, trying to propagate Java exception message to JS error message
2024-10-04 16:56:47 +02:00
Alexey Andreev
753a028fc9
wasm gc: improve performance of JS interop
2024-10-04 15:38:14 +02:00
Alexey Andreev
3218a00eb9
wasm gc: support JS exceptions
2024-10-04 11:49:17 +02:00
Alexey Andreev
1d47146f43
wasm gc: support JS functions with varargs
2024-10-04 10:02:06 +02:00
Alexey Andreev
0057bbd00d
wasm gc: fix issue with extracting elements from arrays of JS objects
2024-10-04 09:00:51 +02:00
Alexey Andreev
eba0e2b2e8
wasm gc: fix issues with arrays of JS objects, unignore passing test
2024-10-03 22:23:56 +02:00
Alexey Andreev
2aabddc32d
wasm gc: fix conversion of multidimensional arrays from JS
2024-10-02 20:02:58 +02:00
Alexey Andreev
0bd7bc6ca9
wasm gc: fix support of legacy Object.cast method
2024-10-02 19:27:43 +02:00
Alexey Andreev
551f0505c7
wasm gc: fix support of cast/instanceof for JS types; fix accessing top-level declarations
2024-10-02 14:54:40 +02:00
Alexey Andreev
a291eb3026
wasm gc: support wrapping JS values in Java
2024-10-02 14:31:33 +02:00
Alexey Andreev
4b76396332
wasm gc: basic support for functors in JSO
2024-10-01 14:43:53 +02:00
Alexey Andreev
383fee67c5
wasm gc: support exporting Java classes to JavaScript
2024-10-01 13:57:20 +02:00
Alexey Andreev
0897a1bbd5
wasm gc: fix failing tests
2024-09-29 10:53:55 +02:00
Alexey Andreev
e966690284
Fix failing tests
2024-09-28 19:58:55 +02:00
Alexey Andreev
5ad4496c34
wasm gc: support primitive array conversion to JavaScript in JSO
2024-09-28 19:52:14 +02:00
Alexey Andreev
bbf45760b8
wasm gc: implement simple features from JSO
2024-09-28 19:20:48 +02:00
Alexey Andreev
d0707e5355
js: emit non-breaking whitespace before function arrow in remaining places
2024-09-03 20:54:34 +02:00
Alexey Andreev
a97e6574ac
Introduce concept of 'weak' cast.
...
Use weak casts to maintain proper typing within methods during various operations on IR. At generation level, ignore weak casts, except for Wasm GC BE, which turns weak casts into platform casts.
2024-08-18 18:47:04 +02:00
Alexey Andreev
065aef581d
jso: fix incorrect type inference for array element types
...
Fix #937
2024-08-12 17:32:54 +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
19518eb191
jso: don't insert casts to JS classes in non-strict mode
2024-04-22 19:16:33 +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
931f0f1f4a
jso: support varargs in exported classes and modules
2024-04-15 20:53:24 +02:00
Alexey Andreev
6a09f181c7
js: add JSTopLevel annotation that allows to import top-level declarations
2024-04-11 20:29:57 +02:00
Alexey Andreev
72b021fc0b
jso: support exporting class constructors
2024-04-08 21:32:10 +02:00
Alexey Andreev
a6fb67817c
jso: improve support of instanceof and cast against JS wrapper types
...
Fix #808
2024-04-04 21:18:54 +02:00
Alexey Andreev
f668e27daa
jso: properly support JSWrapper generation when java.lang.Object method is called with receiver type of JSObject interface; add optimization for JSObject.toString call.
...
Fix #898
2024-04-01 17:52:28 +02:00
Alexey Andreev
32ae1ab8f0
js: fix deobfuscator, use new ES2015 module builder
2024-03-13 15:44:18 +01:00
Alexey Andreev
582fcf904c
jso: implement vararg support for method calls
2024-03-12 18:56:19 +01:00
Alexey Andreev
ccfe19994b
js: refactor and simplify AstWriter, properly fix case with variable in catch block
2024-03-06 20:24:35 +01:00
Alexey Andreev
e4452152b7
jso: improve JS class import to Java
2024-02-27 20:16:10 +01:00
Alexey Andreev
8db406c603
jso: implement exporting Java methods to JS
...
Fix #785
2024-02-15 21:00:10 +01: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
Alexey Andreev
a9af6e4f33
JSO: fix wrapping undefined value
2023-12-07 10:02:30 +01:00
Alexey Andreev
067f7453fe
JS: a better fix for wrapping/unwrapping JS objects implemented in Java
2023-11-27 13:05:51 +01:00
Alexey Andreev
9757213379
JS: fix unwrapping JS objects implemented in Java
2023-11-26 21:57:19 +01:00
Alexey Andreev
be53236d23
JS: fix wrapping keys for native indexers
2023-11-20 20:33:47 +01:00
Alexey Andreev
6738d6f1f8
JS: add remembering source writer, refactor PreparedMethod and Renderer to use it, get rid of $rt_globals
2023-11-02 19:03:10 +01:00
Alexey Andreev
23ad999bbd
JS: get rid of IOException in SourceWriter and related classes
2023-10-31 20:09:55 +01:00
Alexey Andreev
32ee8943c1
JS: rewrite more natives with templates, get rid of runtime aliases in minification mode
2023-10-31 19:29:32 +01:00
Alexey Andreev
a1cc817504
JS: rewrite more native generators with templates, fix issues in template engine
2023-10-29 20:17:18 +01:00
Alexey Andreev
7acc81ce4d
JS: remove lazy creation of primitive classes
2023-10-21 20:07:49 +02:00
Alexey Andreev
02b3c92912
JS: use native string to represent internals of java.lang.String
2023-10-21 19:30:16 +02:00
Alexey Andreev
772dd9eded
JS: fix returning JSO objects from Async methods
...
Fix #805
2023-10-12 21:13:09 +02:00
Alexey Andreev
eed44998f0
jso: trying to improve optimization of JSWrapper
2023-09-27 13:50:30 +02:00