Alexey Andreev
4049bc529e
js: introduce setting to choose module type
2023-12-23 16:32:55 +01:00
Alexey Andreev
1c292f3fbe
Fix calculating comparison in constant propagation
2023-11-25 17:23:50 +01:00
Alexey Andreev
6695103f49
Increase upper complexity threshold for inlining
2023-11-25 15:58:00 +01:00
Alexey Andreev
ac2c084290
js: add ability so refer to local files in source maps. Add copying of source files to Gradle plugin.
2023-11-24 21:28:37 +01:00
Alexey Andreev
6543e68f8a
JS: fix naming of variables in no-obfuscation mode
2023-11-24 17:38:50 +01:00
Alexey Andreev
86efdb0809
JS: remove legacy way to generate names, fix issue with duplication of some top-level names in no-optimization mode
...
Fix #860
2023-11-23 17:22:03 +01:00
Alexey Andreev
57c22ab2c8
JS: fix some runtime function names not being mangled
2023-11-22 18:49:37 +01:00
Alexey Andreev
3282ae3b59
Refactor mechanism that resolves methods and fields parsed from bytecode and reports errors about missing items
2023-11-20 19:50:20 +01:00
Alexey Andreev
89661e52fb
JS: fix output to console in obfuscated mode
2023-11-20 18:57:51 +01:00
Alexey Andreev
e877cc86e4
JS: remove unused runtime function
2023-11-13 10:46:06 +01:00
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