Alexey Andreev
1955973c3b
JS: fix removal of unused functions in handwritten JS
2023-11-13 10:37:30 +01:00
Alexey Andreev
083ecbdad2
wasm/c: add support for class flags
2023-11-08 21:02:31 +01:00
Alexey Andreev
726702dd7f
wasm: fix programmatic initialization of a class that is statically initialized by optimizer
2023-11-08 19:59:24 +01:00
Alexey Andreev
f6e38e94f7
c: fix typo in macro name
2023-11-08 09:52:27 +01:00
Alexey Andreev
8f8b33c0b1
js: split runtime into smaller parts
2023-11-07 20:26:10 +01:00
Alexey Andreev
9c6f23d280
classlib: optimize console output in JS backend
2023-11-07 20:00:33 +01:00
Alexey Andreev
0ee994e913
Improve class initializer elimination
2023-11-07 18:46:01 +01:00
Alexey Andreev
eca3dc61f5
junit: fix exception reporting
2023-11-07 18:01:33 +01:00
Alexey Andreev
21137c57a3
JS: merge let statements to get better minification; rewrite some Array methods to generate less dependencies on runtime
2023-11-06 19:18:18 +01:00
Alexey Andreev
717bbf4a57
JS: strip unused functions from hand-written runtime
2023-11-05 22:41:57 +01:00
Alexey Andreev
485d23d675
JS: fix native toString in Java String class
...
Fix #847
2023-11-05 10:20:49 +01:00
Alexey Andreev
8b6c6a5ca9
Fix checkstyle error
2023-11-05 10:05:45 +01:00
Alexey Andreev
5ec4450bf8
JS: render all declarations into one remembered fragment, then output this fragment to real output
2023-11-05 08:55:24 +01:00
Alexey Andreev
ceffde38f3
JS: use ES6 arrow functions and let where possible
2023-11-02 21:10:35 +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
8024d84ed5
JS: split SourceWriter into interface and implementation part
2023-10-31 20:58:56 +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
eb0f4fb090
Improve JS templating so that it could be used in native generators
2023-10-29 17:16:55 +01:00
Alexey Andreev
5d5fb47ca8
JS: add conditional intrinsic to JS template engine, use it to get rid of remaining generated methods in runtime
2023-10-26 21:17:24 +02:00
Alexey Andreev
16cd0aaab2
JS: introduce JS template engine to write runtime, rewrite several functions using this engine
2023-10-24 21:20:27 +02:00
Alexey Andreev
7acc81ce4d
JS: remove lazy creation of primitive classes
2023-10-21 20:07:49 +02:00
Alexey Andreev
60d0b07f83
JS: refactor array implementation in native JS
2023-10-21 19:42:55 +02:00
Alexey Andreev
bb0d4a4fc6
JS: remove old polyfill
2023-10-21 19:30:16 +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
0e2052d91c
C: fix compiler warning
2023-10-21 19:28:42 +02:00
Alexey Andreev
8b1732d442
JS: fix issue in minified mode
2023-10-17 19:13:14 +02:00
Alexey Andreev
a78eec93d6
metaprogramming: use unprocessed class source to get program templates
...
This should prevent class transformations from applying twice, which can cause some errors.
2023-10-17 07:55:01 +02:00
Alexey Andreev
cd9db17d73
JS: improve performance float<->int reinterpretation conversion, improve performance of Double.equals.
2023-10-16 17:27:12 +02:00
Alexey Andreev
5bc398415d
classlib: implement Atomic*FieldUpdater classes
...
Fix #750
2023-10-15 19:51:44 +02:00
Alexey Andreev
70540b2df0
JS: fix UMD wrapper for case when 'exports' exists, but is null
2023-10-11 14:01:24 +02:00
Alexey Andreev
d33c491a33
Gradle: report build progress from build tasks
2023-10-10 19:01:24 +02:00
Alexey Andreev
3d65d38375
Massive refactoring around Wasm support
...
1. Get rid of old exception handling IR transformer in favor of generation of EH code inside BE
2. Get rid of no-setjmp/longjmp support in C BE
3. Fix various bugs in WebAssembly BE
4. Suppress remaining failing tests for Wasm
5. Enable running Wasm tests by default
2023-10-08 10:36:03 +02:00
Alexey Andreev
2c00df288f
wasm: fix ServiceLoader
2023-10-02 14:05:25 +02:00
Alexey Andreev
7806a699c5
wasm: fixing debug C generator
2023-09-30 20:19:22 +02:00
Alexey Andreev
47973face1
Simplify test runner, remove parallel run, remove HtmlUnit runner, fix Wasm tests
2023-09-29 21:11:23 +02:00
Alexey Andreev
d4113a6744
classlib: improve Math min/max implementations in C and Wasm
...
Follow-up to ihromant's "fix Math min/max functions in JS"
2023-09-28 17:02:18 +02:00
Alexey Andreev
ab507bb22b
wasm: fix bugs in coroutine support
2023-09-27 20:28:09 +02:00
Alexey Andreev
219de85e24
Improve performance of PhiUpdater
2023-09-27 19:36:02 +02:00
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