Svyatoslav Kuzmich
0e54ec5ef6
[Wasm] Stop using Dynamic in WebIDL generated code
2023-03-29 11:08:29 +00:00
Svyatoslav Kuzmich
cafc27aae9
[Wasm] Add JsAny.unsafeCast
...
Replacement for Dynamic.unsafeCast, but limited to JsAny types where
it makes sense.
2023-03-29 11:08:29 +00:00
Svyatoslav Kuzmich
e32611d2f2
[Wasm] Make Promise methods generic instead of using Dynamic
...
Copy full Promise implementation from Kotlin/JS,
and specify JsAny? upper bounds
2023-03-29 11:08:29 +00:00
Dmitriy Novozhilov
90ec84d7b7
[Stdlib] Update copyrighting in generated stdlib sources
2023-03-27 10:46:11 +00:00
Abduqodiri Qurbonzoda
9076e5b112
[K/N] Mark BitSet usages in stdlib with @ObsoleteNativeApi
2023-03-23 14:48:23 +00:00
Svyatoslav Kuzmich
76b4498399
[Wasm] IDL bindings improvements
...
- Generated types extend JsAny
- Use JsAny instead of Dynamic
- Use JsArray instead of Array
- Use JsNumber, JsString and JsBoolean in JsAny context
- Refactor dictionary constructor functions
2023-03-16 09:12:08 +00:00
Svyatoslav Kuzmich
1208a26fc4
[Wasm] Use JsAny, JsHandle and other Js* types in stdlib and kotlin-test
2023-03-16 09:12:07 +00:00
Svyatoslav Kuzmich
4be359ba02
[Wasm] Add @SinceKotlin("1.9") to js(code)
2023-03-03 19:39:12 +00:00
Svyatoslav Kuzmich
3566d918d2
[Wasm] Deprecate @JsFun with warning
...
kotlin.js.js("code") should be used instead
2023-03-03 19:39:11 +00:00
Svyatoslav Kuzmich
7175b9f31c
[Wasm] Migrate usages of @JsFun to js("code")
2023-03-03 19:39:10 +00:00
Svyatoslav Kuzmich
71e6b19760
[Wasm] Support restricted version of js("code") (KT-56955)
2023-03-03 19:39:09 +00:00
Svyatoslav Kuzmich
eb8c47343a
[Wasm] Don't use js("code") in browser API
...
Use internal newJsObject to create new objects instead.
This is a preparation for restricted js("code") support (KT-56955)
2023-03-03 19:39:09 +00:00
Alexander Korepanov
9324cf3360
[JS IR] Support function type interfaces in incremental cache infrastructure
...
The patch removes logic of generating extra IrFiles (fake file) into
IrModuleFragment for the function type interfaces during klib deserialization,
because IC infrastructure can not process files which do not exist in klib.
Instead of adding extra IrFiles during deserialization, the empty files
with required packages are added into Kotlin/JS stdlib physically.
These files are used as containers for function type interface declarations.
Since Kotlin/WASM uses the same klib loading infrastructure as Kotlin/JS,
the the empty files are added into Kotlin/WASM stdlib as well.
The patch also adds a check that IrModuleFagment has files only from klib.
^KT-55720 Fixed
2023-02-03 12:23:48 +00:00
Svyatoslav Kuzmich
abf70a586c
[Wasm] stdlib API: make kotlin.assert internal
...
Being disabled by default
and not well-documented, these functions cause confusion among early
adopters as to why their code don't work properly.
Assert APIs need a proper design across Kotlin platforms.
Since APIs are not available in common code and K/JS, it is premature
to have such a general feature in a new experimental platform.
Compiler tests:
* Mute tests that rely on assert.
* Replace JVM-specific assert calls with require calls and unmute passed K/JS tests.
Merge-request: KT-MR-8636
Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com >
2023-02-02 07:06:12 +00:00
Zalim Bashorov
58e523b890
[Wasm] Change target directory for wasm intrinsics for finer tuning code owners
...
Also, minor cleanup in the generator.
2023-02-01 00:35:49 +01:00
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
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
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
Svyatoslav Kuzmich
d14d4c8510
[Wasm] Support JsModule and JsQualifier
2023-01-13 21:58:34 +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
4bd187ccea
[Wasm] Move ItemArrayLike w3c declarations into the right package
2022-12-29 11:57:44 +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
Igor Yakovlev
c8306f1a3b
[Wasm] Mark rotate functions with WasExperimental
2022-11-19 11:49:06 +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
033e2c45f1
[WASM] Caching string literals in global pool
2022-11-01 13:15:09 +00: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
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
Igor Yakovlev
c94a051c19
[WASM] Renew to Milestone 6 instructions set
2022-09-15 16:27:42 +00:00
Igor Yakovlev
fff6b16483
[WASM] Wasm string.plus optimisations
2022-09-15 16:27:39 +00:00
Abduqodiri Qurbonzoda
b388c7503b
Advance Int/Long/Double.units deprecation level to ERROR #KT-53864
2022-09-11 23:49:07 +03:00
Abduqodiri Qurbonzoda
73a65c1bb1
Promote top-level kotlin.math.cbrt() to stable #KT-53277
2022-09-08 12:00:58 +00:00
Igor Yakovlev
a0a66ffb96
[WASM] Refactoring wasm array copy functions
2022-07-08 16:29:45 +00:00
Igor Yakovlev
0ea7e8b70a
[WASM] Add array copy intrinsic
2022-07-06 19:07:56 +00:00