Commit Graph

897 Commits

Author SHA1 Message Date
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
Alexey Andreev
3eb4b742ea Move FS support to teavm-core module 2022-11-07 09:53:46 +01:00
Alexey Andreev
8f4e4e811f Wasm: don't emit wasm-runtime.js file in WASI mode 2022-11-06 21:41:09 +01:00
Alexey Andreev
34eb06f5f0 Wasm: support command line args in WASI 2022-11-06 21:21:49 +01:00
Alexey Andreev
1ca2c75e1c Wasm: initial WASI support 2022-11-06 11:53:52 +01:00
Alexey Andreev
d5cdd740f5 Fix incorrect behaviour of Class.getInterfaces
fix #635
2022-11-04 16:15:30 +01:00
Alexey Andreev
752ec040b0 Wasm: fix resource files getting into garbage collection metadata 2022-11-04 14:48:53 +01:00
Alexey Andreev
6c6d440ebb С/wasm: don't include references metadata resource into GC stack roots and into class layout for GC. 2022-11-01 09:38:10 +01:00
Alexey Andreev
d097350787 Bump ASM version, use common ASM API version everywhere, bump ASM API version to 9 2022-10-05 11:09:53 +02:00
Alexey Andreev
2b671b8088 Fix issue with precedence of % operator 2022-08-25 12:48:59 +02:00
Alexey Andreev
ddddfcf217 Add option to disable assertions 2022-07-15 19:51:47 +03:00
Alexey Andreev
f0d805fda8 Support Java 17 records 2022-07-10 20:40:24 +03:00
Alexey Andreev
29fd95be95 Fix bugs related to MULTINEWARRAY in various backends 2022-07-10 18:16:16 +03:00
Alexey Andreev
b03518c493 Remove unnecessary hppc artifact versions from pom.xml 2022-06-01 17:25:33 +03:00
Alexey Andreev
98490e92f6 JS: fix strict mode null pointer check with inlining 2022-05-19 12:24:02 +03:00
Alexey Andreev
be259f1667 Fix false negatives when checking missing methods 2022-05-19 10:25:40 +03:00
Alexey Andreev
31f91bc63c C: fix overlapping file names 2022-05-16 11:59:25 +03:00
Alexey Andreev
5e37e2a45b Fix reporting missing static field if containing class is never referenced directly 2022-03-25 10:27:15 +03:00
Alexey Andreev
ce5e3bfeb7 C/Wasm: fix issue in GC 2021-12-16 18:39:26 +03:00
Alexey Andreev
15466bad93 C: fix heap dump generator 2021-12-16 14:54:23 +03:00
Alexey Andreev
1fa48560c6 C: add option to generate shorter output file names to workaround msvc bug 2021-12-10 18:51:12 +03:00
Alexey Andreev
08aa642fe5 C: prevent from casting to native function type 2021-08-31 15:11:17 +03:00
Alexey Andreev
c2f90d3cfc fix ClassInference for arrays 2021-08-30 17:53:14 +03:00
Alexey Andreev
c65a9e1c97 Fix bug in irreducible graph splitting algorithm 2021-07-15 19:17:11 +03:00
Alexey Andreev
220537d984 C: fix behaviour of nested try/catch statements 2021-04-15 20:55:52 +03:00
Alexey Andreev
73bd139b7e C: implement ServiceLoader 2021-04-14 23:02:09 +03:00
Alexey Andreev
4a62b58f82 Bug fixes in optimizer 2021-04-02 19:54:38 +03:00
Alexey Andreev
7058a195b7 JS: fix class of object created by multianewarray instruction 2021-04-01 12:05:18 +03:00
Alexey Andreev
c89bc11d02 Fix dominator tree builder, make it possible to choose starting node 2021-04-01 09:29:18 +03:00
Alexey Andreev
d710870c65 Fix possible NPE 2021-03-31 12:53:12 +03:00
Alexey Andreev
9972fe0c29 Rewrite node splitting algorithm 2021-03-30 12:07:14 +03:00
Alexey Andreev
b34e25414e C: fix support for resources 2021-03-24 18:52:54 +03:00
Alexey Andreev
00fba54d7b C: fix exception handling semantics with longjmp 2021-03-24 17:30:49 +03:00