Igor Yakovlev
f996278171
[WASM] Support for mjs universal launcher
2022-06-07 20:59:03 +00:00
Zalim Bashorov
f22eed6dd8
[Wasm] Fix running wasm in the browser
2022-05-23 17:50:24 +02:00
Igor Yakovlev
3d3526e3d0
[WASM] Workaround for compiled wasm runs under node
2022-05-20 16:33:58 +02:00
Igor Yakovlev
73a86fffe5
[WASM] Bootstrap std compatibility fix
2022-05-20 16:33:57 +02:00
Igor Yakovlev
526e99891a
[WASM] Refcast and Reftest refactorings
2022-05-20 16:33:57 +02:00
Igor Yakovlev
1eaa266a95
[WASM] Minor refactorings
2022-05-20 16:33:57 +02:00
Igor Yakovlev
8da6ab7a04
[WASM] New VTable format
2022-05-20 16:33:57 +02:00
Svyatoslav Kuzmich
84ed3ff5b0
[Wasm] Don't generate wat format by default in box tests
...
Gives ~15% tests speedup
Use kotlin.wasm.debugMode=1 to enable old behaviour
2022-05-20 13:34:28 +00:00
Svyatoslav Kuzmich
d1c81eb6ba
[Wasm] Support Wasm GC milestone 5
2022-05-20 12:22:43 +03:00
Ivan Kylchik
f3252334b2
Move most of ir utils from backend.common to ir.tree
2022-05-18 21:20:03 +03:00
Svyatoslav Kuzmich
813b600555
[Wasm] Don't write .wat files in box tests
...
These files take space on CI, but they are not validated or processed
automatically in any way.
Disabled by default, enabled via kotlin.wasm.debugMode=1
2022-05-13 11:20:13 +00:00
Igor Laevsky
d46102b129
[Wasm] Fix few things around assertions in stdlib
2022-04-27 20:21:21 +00:00
Igor Chevdar
04ef856780
[IR] Replaced K/N findPackage with common getPackageFragment
2022-04-27 11:19:17 +00:00
Igor Laevsky
3de1235fda
[WASM] Add command line option to enable/disable assertions
2022-04-26 20:41:52 +00:00
Igor Laevsky
81eae94821
[Wasm] Disable range checks for arrays. Add cli argument to enable them back.
2022-04-05 18:00:32 +00:00
Igor Yakovlev
f0f94623f4
[WASM] Implement data class hashCode and toString for arrays
2022-02-24 20:15:15 +03:00
Svyatoslav Kuzmich
4636f71076
[Wasm] Loader improvements
...
- Output ES modules instead of plain files
- Support -Xwasm-launcher=d8 for d8 shell used in tests and benchmarks.
- Reuse launcher generation logic in CLI and box tests runners.
- Create separate output directory for each box since
there are multiple output files generated for each test.
- Stop using absolute paths in generate JS files
to simplify running generated code on different machine
- Remove ">>>" from println output
Merge-request: KT-MR-5729
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2022-02-10 22:59:44 +00:00
Igor Yakovlev
eb8c3aa54e
[WASM] Remove WasmImport annotation
2022-02-03 21:25:59 +01:00
Igor Yakovlev
0acb1c0c05
[WASM] Implemented Wasm unhandled exceptions on JS site
2022-02-03 21:25:57 +01:00
Igor Yakovlev
e32f9eb2ce
[WASM] throwableExtensions implementation
2022-02-03 21:25:57 +01:00
Igor Laevsky
4e84e14d34
[Wasm] Don't squish modules together
2022-02-03 18:19:30 +03:00
Igor Yakovlev
1446914ba9
[WASM] Run box tests with dce and non-dce modes
2022-02-02 16:44:47 +03:00
Igor Yakovlev
2ec0411a7f
[WASM] DCE implementation
2022-01-26 23:40:41 +03:00
Igor Yakovlev
b22190ccc1
[WASM] Initialize constant fields by wasm-initializers
2022-01-20 19:18:46 +03:00
Alexander Udalov
6445a29893
IR: remove type parameter in visitConst
...
Co-authored-by: mcpiroman <mcpiroman@gmail.com >
2022-01-19 17:50:35 +01:00
Evgeniy.Zhelenskiy
e97ca2ada4
[Psi2Ir, Fir2Ir] Generate toString, hashCode, equals methods for MF VC
2022-01-14 13:51:57 +00:00
Igor Yakovlev
82455c849d
[WASM] Lazy properties initialization
2022-01-05 13:12:32 +01:00
Igor Laevsky
cfcbe9e1e2
[Wasm] Better preserve IR types after inlining
2022-01-01 20:04:44 +02:00
Roman Artemev
7341a17a5d
[IR] Cleanup ir serialization
2021-12-24 16:50:44 +03:00
Vyacheslav Gerasimov
f7a9065b75
Build: Use intellij maven repo instead of downloaded IDEA
...
#KTI-82
2021-12-16 21:48:23 +03:00
Sergej Jaskiewicz
e5993ab594
[JS IR] [Wasm] Extract InlineClassesUtils into CommonBackendContext
2021-12-13 07:36:56 +00:00
Ilya Goncharov
00289d3514
rra/ilgonmic/exported-bridges-2
...
[JS IR] Use js name for signature
[JS] bridgeSavingExport only for JS IR
[JS IR] Fix test
[JS IR] Stable and non stable signatures
[JS IR] Consider return type in js signature and erase for JS name signature
[JS IR] Copy signature from wasm to JS and export bridge, not original
Merge-request: KT-MR-5174
2021-12-08 08:30:14 +00:00
Igor Yakovlev
2e78a1cd90
[WASM] Fix invalid string literal encoding
2021-12-07 21:33:21 +03:00
Kristoffer Andersen
be1c0bb9c1
[EE-IR] Support mutations by evaluator fragments
...
- box captured variables using `Ref`s, the same mechanism that's used
for shared variables in closures.
2021-11-21 01:34:42 +01:00
Svyatoslav Kuzmich
f833fc4bcb
[Wasm] Default parameter values for external functions
...
+ import top-level external functions wrapped in lambdas
2021-11-17 19:28:14 +00:00
Igor Yakovlev
ee7f4c7278
[WASM] Implementation typeOf support
2021-11-15 19:53:48 +03:00
Igor Yakovlev
ce360bb10b
[WASM] Implementation of Class references
2021-11-15 19:53:46 +03:00
Igor Yakovlev
d9f2bd7963
Revert "[Wasm][Temporary] Stubs for typeOf and ::class constructs"
...
This reverts commit 8dc81b6c57 .
2021-11-15 19:53:45 +03:00
Igor Laevsky
c7cfa97748
[Wasm] Implement Any::hashCode()
2021-11-15 18:26:46 +03:00
Svyatoslav Kuzmich
08362e8b38
[Wasm] Support defineExternally
2021-11-12 18:44:46 +03:00
Svyatoslav Kuzmich
5098bc0c70
[Wasm][Minor] Rename method
2021-11-12 18:44:46 +03:00
Svyatoslav Kuzmich
7e9fc54e64
[Wasm] Support external companions
2021-11-12 18:44:46 +03:00
Svyatoslav Kuzmich
91ea3738b4
[Wasm] Fix type parameters with external upper-bounds.
...
`klass.isExternal` was never reachable for type parameters
because of klass != null check
2021-11-12 18:44:46 +03:00
Svyatoslav Kuzmich
03c352c11e
[Wasm] Lower complex external declarations
...
- Properties
- Member functions
- Object declarations
- Constructors
- Classes with instance checks
2021-11-10 19:48:11 +03:00
Svyatoslav Kuzmich
c0761bf34a
[Wasm] Support callable references to external functions
...
1. Move jsInteropFunctionsLowering after callable reference lowering,
so it can continue to deal with just functions and function calls.
2. Generate lowered closure class in JsInteropFunctionsLowering because
2021-11-10 19:48:10 +03:00
Igor Laevsky
0915dac1f9
[Wasm] Handle unsigned arrays in the vararg lowering
2021-11-03 18:50:06 +03:00
Igor Laevsky
8dc81b6c57
[Wasm][Temporary] Stubs for typeOf and ::class constructs
2021-11-03 16:23:01 +03:00
Svyatoslav Kuzmich
f7d3cb269f
[Wasm] Support passing lambdas from Kotlin to JS
2021-10-28 18:47:38 +03:00
Svyatoslav Kuzmich
766377a041
[Wasm] Remove WasmForeign annotation
...
No longer needed since external interfaces are supported
2021-10-28 18:47:38 +03:00
Svyatoslav Kuzmich
4fc461a2ff
[Wasm] Imporove external interface support
...
* Support boxing/unboxing when casting to Any
* Support ===, equals, hashCode, toString
* Support adapting String in interop boundary
2021-10-23 01:26:12 +03:00