Zalim Bashorov
885381dd63
[Wasm] Change externRefToAny to make it compatible with SpiderMonkey and V8
...
It's hard to achieve that without implementing part of `externRefToAny` using an intrinsic. It should be rewritten when all VMs and tools update to the latest spec.
Also, stop using (deprecated) instructions unsupported by SpiderMonkey.
#KT-56166 In-Progress
2023-01-27 17:57:50 +01:00
Svyatoslav Kuzmich
983140ca04
[Wasm] stdlib NFC: suppress unchecked cast
2023-01-24 16:02:48 +01:00
Svyatoslav Kuzmich
feca26e481
[Wasm] stdlib NFC: remove experimentalPackageStub.kt
...
Common sources now include `kotlin.experimental` and this file is no longer needed.
2023-01-24 14:55:00 +01:00
Svyatoslav Kuzmich
e1f72d60dc
[Wasm] stdlib API: Mark primitives constructor properties as private
...
These are implementation detail and were not meant to be public
2023-01-24 14:55:00 +01:00
Svyatoslav Kuzmich
354b231ea2
[Wasm] stdlib API: Mark internal compareTo functions as internal
...
Default public visibility was a mistake.
They were not intended to be public.
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
e109662cdc
[Wasm] Enable warnings in stdlib and treat them as errors
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
72d9b8ddae
[Wasm] stdlib NFC: Fix or suppress remaining warnings
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
238da4c793
[Wasm] stdlib NFC: Suppress cast warnings in org.w3c
...
Also fix dukat build and update copyright year in generated files.
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
7fed003531
[Wasm] stdlib: Remove unchecked cast in PrimitiveClasses::functionClass
...
This half-stub function is used for compatibility with Kotlin/JS
lowering and doesn't need full KClassImpl<Any> return type.
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
dba5d401bb
[Wasm] fdlibm NFC: Remove dead code in expm1
...
Fixes warning that value of y is never used before it is read.
Removed dead code is not present in FreeBSD codebase since at least 1994
https://github.com/freebsd/freebsd-src/blame/34ac629b40e68e5394fe0a27e47c73a875d9f8cb/lib/msun/src/s_expm1.c#L141
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
d6a713ad39
[Wasm] fdlibm NFC: Remove dead code in __ieee754_pow
...
Fixes warnings.
i0 and i1 are not used in the original C code.
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
3acf371f8a
[Wasm] fdlibm NFC: Replace division by zero with inf and NaN constants
...
Fixes warnings.
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
181e1023ed
[Wasm] fdlibm NFC: Suppress name shadowing for "mutable parameters"
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
5faa430904
[Wasm] fdlibm NFC: Remove unnecessary variable initializers in
...
Fixes warnings.
These initializers were not in the original C code anyway.
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
ffb8138ae2
[Wasm] stdlib NFC: Suppress warnings in _WasmArrays.kt
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
14cf0a0b3f
[Wasm] stdlib NFC: Remove dead code in Number2String.kt
...
This fixes compiler warning
`w_exp` corresponds to unused field of `w` struct
in the original C code
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
d0b25e5a90
[Wasm] stdlib NFC: Suppress warnings for @WasmPrimitiveConstructor
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
8973ba294e
[Wasm] stdlib API: Mark all Double and Float companion values as const
...
Make it consistent with core/builtins and K/N runtime
2023-01-24 14:54:59 +01:00
Svyatoslav Kuzmich
6efeee2037
[Wasm] stdlib API: remove bitwise Byte and Short operations from builtins
...
They shadow kotlin.experimental extensions
2023-01-24 14:54:59 +01:00
Ilya Goncharov
d7c31f79a8
Do not suppress NPM related tasks, but be aware about checking of them in task graph
2023-01-19 13:43:57 +00:00
Ilmir Usmanov
d18672bfb1
Wrap continuation with ContinuationImpl on callable references
...
in startCoroutineUninterceptedOrReturn. Otherwise, the coroutine will
not be interceptable later.
Add a test, which checks, that intercepted continuation is released.
#KT-55869
2023-01-19 00:35:36 +00:00
Abduqodiri Qurbonzoda
ba2833b90f
Mark Base64 API with ExperimentalEncodingApi
2023-01-16 11:24:50 +00:00
Svyatoslav Kuzmich
d14d4c8510
[Wasm] Support JsModule and JsQualifier
2023-01-13 21:58:34 +00:00
Svyatoslav Kuzmich
1564de5859
[Wasm] Support external vararg
...
Initial implementation copies Wasm array to JS array and spreads it
2023-01-11 10:35:36 +00:00
Alexander Udalov
ae6d4d268d
Use short copyright from COPYRIGHT_HEADER in generated files
2023-01-02 22:52:18 +01:00
Svyatoslav Kuzmich
9bc6b420a9
[Wasm][Stdlib] Add public APIs for linear memory access
...
Needed for interop with APIs that use linear memory.
2022-12-29 19:25:23 +00:00
Igor Yakovlev
35340f2f04
[Wasm] Fix stdlib String to Float parse
2022-12-29 11:57:47 +00:00
Igor Yakovlev
1b2b7ce34c
[Wasm] Support Number type for external functions
2022-12-29 11:57:45 +00:00
Igor Yakovlev
4bd187ccea
[Wasm] Move ItemArrayLike w3c declarations into the right package
2022-12-29 11:57:44 +00:00
Svyatoslav Kuzmich
add5fa6e0d
[Wasm] Minor: remove unused stdlib stub
...
Merge-request: KT-MR-8140
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2022-12-29 05:29:32 +00:00
Svyatoslav Kuzmich
3bbd8c291a
[Wasm] Add @WasmImport annotation
...
Imports top-level function from given module
2022-12-28 12:13:18 +01:00
Svyatoslav Kuzmich
7ec6608e29
[Wasm] Add Promise and support tests that return Promise
...
Co-authored-by: Ilya Gorbunov <Ilya.Gorbunov@jetbrains.com >
Merge-request: KT-MR-7717
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2022-11-25 20:56:47 +00:00
Zalim Bashorov
7f8f7aa050
[Wasm] Revert ref cast and test instructions to be compatible with Binaryen
2022-11-25 15:31:48 +01:00
Zalim Bashorov
5f140dac21
[Wasm] Remove wasm_ref_cast and use wasm_ref_cast_null inside the compiler
2022-11-25 15:31:47 +01:00
Igor Yakovlev
c8306f1a3b
[Wasm] Mark rotate functions with WasExperimental
2022-11-19 11:49:06 +01:00
Zalim Bashorov
919029f34f
[Wasm] Add fast path for null in externRefToAny
...
- Introduce new intrinsics `wasm_ref_cast_null` & `wasm_ref_test_null`.
- Support getting type for immediate from generic argument.
- Remove redundant null check in `tryGetOrSetExternrefBox`.
2022-11-18 17:30:10 +01:00
Zalim Bashorov
ab590e1279
[Wasm, stdlib] Change visibility for wasm_* helper functions to internal
2022-11-15 12:55:10 +01:00
Zalim Bashorov
2fc6cea681
[Wasm] Migrate to the new GC M6 instructions
2022-11-15 12:55:10 +01:00
Igor Yakovlev
210212c284
[WASM] Remove redundant parameters for w3c dynamic getters
2022-11-11 10:53:05 +00:00
Igor Yakovlev
b6eb2b3620
[WASM] Add w3c bindings
2022-11-10 14:22:44 +00:00
Zalim Bashorov
9ed94b25fa
[Wasm] Cleanup instructions list
...
* Split by proposal, at least for work-in-progress ones
* Add a link to the repo for WIP proposals
* Move some instructions to right group
2022-11-09 13:44:38 +01:00
Igor Yakovlev
346b2f162c
[WASM] Optimize varargs without spreads
2022-11-01 13:15:11 +00:00
Igor Yakovlev
8d8430cde7
[WASM] Remove unnecessary boxing/unboxing
2022-11-01 13:15:10 +00:00
Igor Yakovlev
0e16889f45
[WASM] Fast load string literals from data section
2022-11-01 13:15:09 +00:00
Igor Yakovlev
033e2c45f1
[WASM] Caching string literals in global pool
2022-11-01 13:15:09 +00:00
Igor Yakovlev
5218acd5c9
[WASM] Optimise interop adapters
2022-10-18 20:48:12 +02:00
Artem Kobzar
eb2326eabb
[K/JS] Add ability to exclude declarations from export by a new annotation @JsExport.Ignore.
2022-10-03 11:07:25 +00:00
Ilya Gorbunov
607f15b55b
Sycnhronize docs of primitives in JS-IR, Wasm, Native sources
2022-10-02 19:04:37 +00:00
Igor Yakovlev
081cd4a4a8
[WASM] Support nullable types for external functions
2022-09-22 11:54:04 +02:00
Ilya Gorbunov
57c9d61291
ComparableTimeMark and specialized TimeSource KT-54082
...
- Introduce ComparableTimeMark interface extending TimeMark,
and TimeSource.WithComparableMarks - a time source that returns such time marks.
- Implement ComparableTimeMark in ValueTimeMark and AbstractLong/DoubleTimeMark classes.
2022-09-19 19:16:40 +00:00