Abduqodiri Qurbonzoda
3917ec94ab
[K/N] Use AbstractList.checkIndex() functions instead of custom check functions
2023-06-06 18:11:57 +00:00
Artem Kobzar
bfd57fd2df
[K/JS, K/Wasm] Optimize simple objects declaration and usage ^Fixed KT-58797
2023-06-02 14:23:40 +00:00
Abduqodiri Qurbonzoda
7d9ea28604
Deprecate lazy() that synchronizes on a given lock in non-JVM platforms
...
Because the overload has a meaningful implementation only in JVM.
In other platforms the specified lock object is ignored.
In K/N it throws UnsupportedOperationException.
2023-06-01 19:40:02 +00:00
Igor Yakovlev
6437d0919c
[Wasm] Replace deprecated cast instructions
2023-05-19 15:50:06 +00:00
Ilya Gorbunov
bbb36ce501
KT-58046 Promote time sources, time marks, measureTime to stable
2023-05-16 11:42:32 +00:00
Ilya Gorbunov
448e9fc5e7
Drop functions hidden since 1.4 (inline-only or experimental in JVM)
...
Since it's no longer possible to use API version less than 1.4,
these functions can be no longer called at all.
2023-04-26 10:31:03 +00:00
Svyatoslav Kuzmich
933f47aaf9
[Wasm] Rename JsHandle to JsReference
...
Decision to do this was made at Kotlin/Wasm interop design meeting
2023-04-21 15:03:20 +00:00
Svyatoslav Kuzmich
7ba8f7cce2
Revert "[Wasm] Deprecate @JsFun with warning"
...
Reason: Design of js(code) replacement is still in flux.
It would be better to delay deprecation until we converge
to proper solution.
This reverts commit 3566d918d2 .
2023-04-21 15:03:20 +00:00
Svyatoslav Kuzmich
7c2fa3290e
[Wasm] Revert removal of some Dynamic functions
...
Deprecate them with ERROR instead to improve compiler messages
2023-04-21 15:03:19 +00:00
Ivan Kylchik
dd0267f4ad
[WASM] Mark necessary methods that must be evaluated at compile-time
...
It includes methods and properties from Boolean, Char, String,
Enum and KCallable.
2023-04-20 08:18:58 +00:00
Abduqodiri Qurbonzoda
b25f3be81b
[K/N] Experimental Char code point constants and functions
...
Internalize WASM Char code point functions.
As a part of efforts to stabilize Native stdlib.
2023-04-19 20:33:33 +00:00
Abduqodiri Qurbonzoda
c6eaadb44f
[WASM] Internalize MutableList.replaceAll function
...
It will be introduced later in Common: KT-57152.
2023-04-19 20:32:56 +00:00
Abduqodiri Qurbonzoda
954e11c265
[K/N] Mark MutableList.replaceAll with ExperimentalNativeApi
...
As a part of efforts to stabilize Native stdlib #KT-55765.
2023-04-19 20:32:55 +00:00
Abduqodiri Qurbonzoda
7eba68e62b
[K/N] Commonize String.regionMatches function
...
As a part of efforts to stabilize K/N stdlib.
2023-04-19 20:20:42 +00:00
Abduqodiri Qurbonzoda
c1fb6528aa
[WASM] Introduce internal ExperimentalNativeApi
...
To be able to OptIn usages in shared native-wasm directory.
2023-04-19 19:02:14 +00:00
Zalim Bashorov
6bfd1e7e9f
[Wasm] Stop using unsigned numbers in ScopedMemoryAllocator
...
It turned out that using unsigned numbers is heavy both in terms of size and performance.
We can consider switching back (KT-58041) as soon as we implement unsigned numbers and operations using wasm built-in capabilities (KT-58039).
2023-04-17 16:15:22 +00:00
Abduqodiri Qurbonzoda
8629c92c62
Update copyright of generatedUnicodeData files
2023-04-12 23:28:12 +00:00
Abduqodiri Qurbonzoda
c961c15729
Commonize AssertionError(message, cause) constructor
2023-04-11 13:32:54 +00:00
Abduqodiri Qurbonzoda
b65a68ca0d
[K/N and WASM] Internalize NoWhenBranchMatchedException and UninitializedPropertyAccessException
...
As a part of efforts to stabilize Native stdlib.
Merge-request: KT-MR-9531
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com >
2023-04-10 21:10:51 +00:00
Zalim Bashorov
9760e3ee1e
[Wasm] Introduce check and error specialized for String to reduce output size
2023-04-05 20:50:52 +02:00
Igor Yakovlev
49beec33b4
[Wasm] Replace ClassId and InterfaceId with single TypeId
2023-04-04 18:39:18 +00:00
Igor Yakovlev
5a46cb1c40
[Wasm] Fix invalid float and double sign parser for '-Infinity' value
2023-04-04 18:39:18 +00:00
Igor Yakovlev
b8f797af00
[Wasm] Support for Associated Objects feature
2023-04-04 18:39:17 +00:00
Svyatoslav Kuzmich
46a6695072
[Wasm] WebIDL: Make getters and setters not inline
2023-03-29 11:08:30 +00:00
Svyatoslav Kuzmich
0c7d625123
[Wasm] Suppress warning of unused parameter in WebIDL js(code) functions
2023-03-29 11:08:30 +00:00
Svyatoslav Kuzmich
c466f926b0
[Wasm] Deprecate Dynamic in favour of JsAny
...
Remove extension methods created to compile
Kotlin/JS-like WebIDL bindings
^KT-57060 Fixed
2023-03-29 11:08:30 +00:00
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