Alexey Andreev
7fd3166f9b
wasm: support Date.toString
2023-09-27 14:30:20 +02:00
Alexey Andreev
348b71685d
js: fix object id generator
2023-09-27 13:51:37 +02:00
Alexey Andreev
9c0e3b5e59
Remove unnecessary test file
2023-09-26 23:02:34 +02:00
Alexey Andreev
b7cf7b593c
wasm: when building tests, resolve absolute paths to source files in DWARF
2023-09-26 23:02:16 +02:00
Alexey Andreev
e84a1a8531
wasm: fix raw conversion of float and double to int and long
2023-09-25 20:25:49 +02:00
Alexey Andreev
c2c1d78f13
wasm: fix issue in exception handling transformer
2023-09-25 20:25:49 +02:00
Alexey Andreev
fa2e003dd6
classlib: fix crash in WeakReference constructor
...
It occurred when ReferenceQueue.remove method was never used
Fix #756
2023-09-24 13:47:15 +02:00
Alexey Andreev
390861f835
wasm: fix producing programs with detached basic blocks
2023-09-22 21:26:34 +02:00
Alexey Andreev
98ec4597d6
Fix dominator tree algorithm
2023-09-22 21:26:34 +02:00
Alexey Andreev
1cd635afa5
Fix node splitting in irreducible CFG
2023-09-22 07:51:49 +02:00
Ivan Hetman
8277671376
classlib: make difference between raw and normal floating points to int conversion
2023-09-20 23:51:55 +03:00
Alexey Andreev
edf2d33f84
js: optimize long operations
2023-09-20 19:28:01 +02:00
Alexey Andreev
2e7e11292b
C: implement Long.compareUnsigned
2023-09-19 11:34:50 +02:00
Alexey Andreev
e2ee9f1dbb
classlib: improve precision of float/double parsing and formatting
2023-09-13 19:40:00 +02:00
Alexey Andreev
401fcabeae
wasm: support ServiceLoader
2023-08-28 19:32:22 +02:00
Alexey Andreev
70d0658b47
wasm/c: fix bugs in coroutine transformation
2023-08-28 17:16:31 +02:00
Alexey Andreev
40c4f03e3b
Coroutine transformation: minor improvements
2023-08-28 14:10:34 +02:00
Alexey Andreev
bd2d2cb49b
wasm: fix exceptions in DWARF generator
2023-08-28 13:18:26 +02:00
Alexey Andreev
36060b37e3
wasm: another attempt to make class reference visible in chrome dev tools
2023-08-27 00:26:03 +02:00
Alexey Andreev
cacf09dca8
wasm: generate field description in DWARF
2023-08-26 20:48:29 +02:00
Alexey Andreev
fed6a2d0ef
wasm: change language in DWARF from Java to C++
...
This is due to weird issue in lldb (from which Chrome dev tools
are derived), which does not parse DWARF functions if there's
no support for language "type system"
2023-08-25 20:43:34 +02:00
Alexey Andreev
e576a985dd
wasm: don't generate separate declarations for methods in DWARF
2023-08-24 06:45:41 +02:00
Alexey Andreev
49485efdff
wasm: fix line section in DWARF
2023-08-23 21:10:42 +02:00
Alexey Andreev
e3bbf12f49
wasm: use bulk memory operations when necessary
2023-08-22 17:13:06 +02:00
Alexey Andreev
e291128948
wasm: support Long.compareUnsigned
2023-08-22 17:11:26 +02:00
Alexey Andreev
f6131a8248
wasm: fix Array.get with enabled inlining
2023-08-22 17:11:04 +02:00
Alexey Andreev
9ecb3ad817
classlib: support ReferenceQueue.remove
2023-08-21 20:13:06 +02:00
Alexey Andreev
e9d206eed0
wasm: fix NPE
2023-08-19 17:10:53 +02:00
Alexey Andreev
0e7d6b65b4
wasm: add stats generator
2023-08-19 16:59:49 +02:00
Alexey Andreev
a7f115a541
classlib: implement Integer.compareUnsigned in Wasm and C
2023-08-18 17:55:01 +02:00
Alexey Andreev
22864c88f2
js: support WeakReference
2023-08-10 20:47:01 +02:00
Alexey Andreev
b9f5e9be1c
JS: optimize case when JS method returns java.lang.Object and then treated as JS object
2023-08-04 20:40:57 +02:00
Alexey Andreev
334e2829b3
JS: supports module imports in JSBody
2023-08-03 15:42:15 +02:00
Alexey Andreev
a97e0ef45c
JS: generate code in UMD wrapper (to be compatible with node.js, webpack, etc).
2023-08-01 20:11:32 +02:00
Alexey Andreev
059281a25c
Fix issue in optimization
2023-07-31 19:29:41 +02:00
Alexey Andreev
ef2e887d06
Avoid duplicate application of class transformations
2023-07-31 13:21:33 +02:00
Alexey Andreev
948244cbf4
JS: marshall JS object to Java in a wrapper
2023-07-29 18:54:23 +02:00
Alexey Andreev
61eb666503
classlib: faster implementation of System.arraycopy
2023-07-19 21:11:27 +02:00
Alexey Andreev
b1ddf163d7
Don't crash when reporting some cases of missing standard APIs
2023-07-17 18:41:28 +02:00
Alexey Andreev
c39efdc6d7
classlib: fix issue with integer unsigned right shift
2023-05-16 09:56:24 +02:00
Alexey Andreev
b927b28e7d
js: fix extracting exception message from Java
2023-04-11 13:42:28 +02:00
Alexey Andreev
79df39fca0
minor: remove unused fields
2023-04-03 17:19:13 +02:00
Alexey Andreev
a70251fe83
classlib: add Integer/Long.compareUnsigned
2023-03-25 09:37:44 +01:00
Alexey Andreev
ca76ea45cf
Get rid of Gson library
2023-03-10 21:19:30 +01:00
Alexey Andreev
0f8d36a080
JS: display Java exception message in uncaught exceptions in console
2023-03-02 20:22:33 +01:00
Alexey Andreev
971fa9a1f3
Bump versions of dependencies
2023-02-24 19:55:35 +01:00
Alexey Andreev
4fdb05905d
js: increase default top level name limit, since browsers now fixed issues in their dev tools
2023-02-18 08:14:28 +01:00
Alexey Andreev
f2ae748705
wasm: display inherited fields in debugger
2023-02-17 21:04:51 +01:00
Alexey Andreev
df7b3957e9
Fix issue in graph splitter
...
Fix #657
2023-02-17 20:42:27 +01:00
Alexey Andreev
900f95c1ed
js: make names of variables in minified mode never interfering with JS keywords
2023-02-17 19:36:33 +01:00
Ivan Hetman
fdfd923ac6
Add info about Java 14 record to IR. Add support to Metaprogramming API
2023-02-11 23:05:07 +03:00
Alexey Andreev
8014c038c0
Migrate to gradle
2023-01-23 17:16:07 +01:00
Alexey Andreev
2a0f6f206e
New IDEA module kind based on Gradle
2022-12-20 20:48:16 +01:00
Alexey Andreev
013ba237b0
Wasm: fix issues when building with debugging information and optimizations enabled
2022-12-20 18:01:38 +01:00
Alexey Andreev
9a9e7561b7
Wasm: support displaying objects in debugger
2022-12-20 10:01:47 +01:00
Alexey Andreev
7b3905246b
Wasm: support class layout in debug information
2022-12-18 17:45:35 +01:00
Alexey Andreev
506a9bd8c5
Wasm: fix bugs in debugger
2022-12-15 17:27:14 +01:00
Alexey Andreev
6c91192794
Wasm: fix issues in debugger
2022-12-14 16:50:18 +01:00
Alexey Andreev
6808d9e517
Wasm: support local variables in debugger
2022-12-13 21:18:41 +01:00
Alexey Andreev
313e4ed87f
Wasm: fix issues with debugger
2022-12-13 18:51:19 +01:00
Alexey Andreev
a6add26aaa
Wasm: working on step-in and step-over in debugger
2022-12-09 19:13:20 +01:00
Alexey Andreev
87d63168d2
Wasm: working on control flow analyzer for debugger
2022-12-05 20:03:57 +01:00
Alexey Andreev
44204b952d
Wasm: working on binary parser
2022-12-04 20:43:32 +01:00
Alexey Andreev
53dbb72c53
Wasm: working on binary parser
2022-12-02 21:35:07 +01:00
Alexey Andreev
aaed8e312a
Wasm: working on parser
2022-12-02 18:07:56 +01:00
Alexey Andreev
b58dd1a37b
Wasm: refactor debug info parser and fix debugger errors
2022-12-02 17:15:38 +01:00
Alexey Andreev
548ded7c75
Wasm: fix debug info generation
2022-12-02 07:49:07 +01:00
Alexey Andreev
57e0227a02
Wasm: trying to improve debug information emitter
2022-12-01 17:33:35 +01:00
Alexey Andreev
930a57fdd6
Wasm: fix compiler crash when compiling without debug info
2022-11-30 14:01:46 +01:00
Alexey Andreev
4453bba33b
Wasm: fix issues in debugger
2022-11-30 13:38:34 +01:00
Alexey Andreev
a2715f2c79
Wasm: working on Chrome RDP debugger
2022-11-29 21:30:41 +01:00
Alexey Andreev
9d3927e196
Wasm: working on Chrome RDP debugger
2022-11-29 18:14:13 +01:00
Alexey Andreev
d1feec7ae6
Wasm: add parser for own debug information
2022-11-28 17:30:34 +01:00
Alexey Andreev
56929b2085
Wasm: generate debugging information for own debugger
2022-11-25 17:50:39 +01:00
Alexey Andreev
7e95e935d1
Wasm: write more info about classes in DWARF
2022-11-23 22:04:26 +01:00
Alexey Andreev
646c8ec488
Wasm: fix issue with forward references in DWARF, generate class references as pointer types
2022-11-23 11:20:07 +01:00
Alexey Andreev
f938db798b
Wasm: add information about parameters and local variables to DWARF
2022-11-22 17:53:12 +01:00
Alexey Andreev
13cc56feb5
Wasm: split declarations and specifications of methods in DWARF
2022-11-21 16:00:27 +01:00
Alexey Andreev
8fac3237ba
Wasm: generate nested DIEs for namespaces/classes/methods
2022-11-20 16:12:00 +01:00
Alexey Andreev
6222241651
Wasm: update loader to use instantiateStreaming method
2022-11-20 14:05:35 +01:00
Alexey Andreev
1399045ff6
Wasm: fix issues in DWARF generator
2022-11-20 08:42:32 +01:00
Alexey Andreev
7f38697d50
Wasm: don't emit DW_LNE_end_sequence when there were no previous command emitted
2022-11-19 20:15:54 +01:00
Alexey Andreev
f7768efd51
Wasm: fix bugs in DWARF generator, emit DW_LNE_end_sequence after each function
2022-11-19 15:14:21 +01:00
Alexey Andreev
06bcaec1e5
Wasm: emit simple DW_TAG_subprogram DIEs (however, no success with debuggers).
2022-11-19 13:00:52 +01:00
Alexey Andreev
f06ba832d7
Wasm: generate DWARF line numbers
...
Despite generated DWARF sections pass different verifications, they don't work in chrome or wasmtime.
2022-11-19 11:52:43 +01:00
Alexey Andreev
c5011ebf69
Wasm: initial skeleton implementation of DWARF generator
2022-11-18 22:07:23 +01:00
Alexey Andreev
a543b91b84
Wasm: fix error when parsing command line args
2022-11-17 16:35:28 +01:00
Alexey Andreev
238873cbe7
Apply Java 11 syntax
2022-11-17 14:36:55 +01:00
Alexey Andreev
06748fa12b
Fix class initializer optimization.
...
Assume that class initializer is dynamic if it initializes another class with dynamic initializer
2022-11-17 14:35:37 +01:00
Alexey Andreev
df98b411d0
Wasm: fix issue with attempt to shrink heap after GC
2022-11-17 12:02:46 +01:00
Alexey Andreev
64ae44ee01
JS: store global object in a variable to avoid name clashes between generated declarations (in minified mode) and global declarations
2022-11-17 12:02:46 +01:00
Alexey Andreev
70e37dfed9
Wasi: fix bugs in IO implementation
2022-11-12 21:52:29 +01:00
Alexey Andreev
d9fb2bc159
Fix bugs in Wasi support. Fix GC issue in Wasm
2022-11-11 21:01:22 +01:00
Alexey Andreev
1b6acc9eb1
Update Java version to 11
2022-11-11 14:37:12 +01:00
Alexey Andreev
4a025f2605
Wasm: trying to revive GC debugger in wasm2c generator and implement emulation for WASI
2022-11-11 14:04:56 +01:00
Alexey Andreev
1fb70b0903
Fix private method call resolution in Java 11
2022-11-11 10:56:20 +01:00
Alexey Andreev
5fb83ca2ac
Remove unnecessary Wasm runtime imports, implement isFinite method
2022-11-11 09:38:21 +01:00
Alexey Andreev
485f8ac902
Wasi: fix file system issues, add support for Math.pow
2022-11-10 17:08:58 +01:00
Alexey Andreev
224810d0ab
Wasm: support file IO and random generator in WASI
2022-11-08 19:44:56 +01:00
Alexey Andreev
e428e2ac7a
Wasm: implement file IO in WASI
2022-11-08 17:24:58 +01:00