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