813 Commits

Author SHA1 Message Date
Abduqodiri Qurbonzoda ab78b44d2e [K/N] Introduce NativeRuntimeApi annotation
Marks the Kotlin/Native stdlib API that is related to runtime behavior.
Such API is unstable and won't become stable in the future.

As a part of efforts to stabilize Native stdlib #KT-55765.
2023-04-12 13:07:47 +03:00
Abduqodiri Qurbonzoda 113d4d8679 [K/N] Internalize KPropertyImpl classes
As a part of efforts to stabilize Native stdlib.
2023-04-12 09:45:59 +00:00
Abduqodiri Qurbonzoda 92c39b0107 [K/N] Remove FixmeReflection annotation class
As a part of efforts to stabilize Native stdlib.
2023-04-12 09:45:58 +00:00
Abduqodiri Qurbonzoda 0bd263b12a [K/N] Mark kotlin.native.ref.Cleaner with @ExperimentalNativeApi
As a part of efforts to stabilize Native stdlib #KT-55765.
2023-04-12 09:44:25 +00:00
Abduqodiri Qurbonzoda 16078ae8e8 [K/N] Mark WeakReference with ExperimentalNativeApi
As a part of efforts to stabilize Native stdlib #KT-55765.
2023-04-12 09:44:25 +00:00
Abduqodiri Qurbonzoda 6f5504e59b [K/N] Introduce ExperimentalNativeApi annotation
An opt-in annotation to mark the Kotlin/Native-only standard library API
we doubt that eventually will be stabilized.

As a part of efforts to stabilize Native stdlib #KT-55765.
2023-04-12 09:44:24 +00:00
Abduqodiri Qurbonzoda c961c15729 Commonize AssertionError(message, cause) constructor 2023-04-11 13:32:54 +00:00
Abduqodiri Qurbonzoda 8e995e6c62 [K/N] Deprecate ArrayIndexOutOfBoundsException
As a part of efforts to stabilize Native stdlib.
2023-04-11 13:32:54 +00:00
Abduqodiri Qurbonzoda be87b6950c [K/N] Hide AssertionError(cause: Throwable?) constructor
To align Native AssertionError behavior with JVM.

As a part of efforts to stabilize Native stdlib.
2023-04-11 13:32:54 +00:00
Abduqodiri Qurbonzoda 0c89224955 [K/N] Deprecate getTime and measureTime functions
As a part of efforts to stabilize Native stdlib.

Merge-request: KT-MR-9533
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-04-11 13:31:12 +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
Abduqodiri Qurbonzoda 9f50f8ff2a [K/N] Internalize print/println(String) functions
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:50:36 +03:00
Abduqodiri Qurbonzoda 709d6c38d2 [K/N] Internalize IntrinsicConstEvaluation annotation
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:50:35 +03:00
Abduqodiri Qurbonzoda 54bbeae273 [K/N] Internalize TypeCastException
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:50:34 +03:00
Abduqodiri Qurbonzoda df642dd3fb [K/N] Internalize valueOfForEnum and valuesForEnum functions
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:50:33 +03:00
Abduqodiri Qurbonzoda 72f87ba55f [K/N] Internalize functions for throwing specific exception from C++ code
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:50:33 +03:00
Abduqodiri Qurbonzoda 95f1d0b6ae [K/N] Internalize getNativeNullPtr() functions
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:50:32 +03:00
Abduqodiri Qurbonzoda dbfdda2ba1 [K/N] Internalize Ref
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:37:39 +03:00
Abduqodiri Qurbonzoda d51763c240 [K/N] Internalize IntrinsicType
As a part of efforts to stabilize Native stdlib.
2023-04-08 21:37:38 +03:00
Abduqodiri Qurbonzoda bd3f528da4 [K/N] Internalize NumberConverter
As a part of efforts to stabilize K/N stdlib.
2023-04-08 21:36:59 +03:00
Abduqodiri Qurbonzoda 2328cf5fcf [K/N] Internalize FloatingPointParser
As a part of efforts to stabilize K/N stdlib.
2023-04-08 21:36:59 +03:00
Ilya Gorbunov b8da3e69ce KT-55268 Make k.c.Volatile stable 2023-04-08 15:07:56 +00:00
Abduqodiri Qurbonzoda 5cc6338fb9 [K/N] Deprecate Retain and RetainForTarget annotations
As a part of efforts to stabilize Native stdlib #KT-55765.
2023-04-07 17:03:36 +00:00
Abduqodiri Qurbonzoda 4969a0e4f6 [K/N] Deprecate kotlin.native.ThreadLocal typealias
As a part of efforts to stabilize Native stdlib #KT-55765.
2023-04-06 17:34:48 +00:00
Alexander Shabalin 4cd1f2ff82 [K/N] Fix a race in MemorySharedRefs ^KT-56233 2023-04-06 11:40:47 +00:00
Alexander Shabalin 8a8aeed998 [K/N] Handle permanent objects in new MM MemorySharedRefs ^KT-56233
Do not create a foreign ref to the permanent objects. There's no need to
do it, and, moreover, this ref would have leaked.
2023-04-06 11:40:45 +00:00
Alexander Shabalin 1f1b26f2a5 [K/N] Split Weak and MemorySharedRefs between mm implementations ^KT-56233
* A separate RegularWeakReferenceImpl for the new mm. Name is chosen for
  better consistency with other WeakReferenceImpl implementations.
* KRefSharedHolder and BackRefFromAssociatedObject implementations are
  independent between the legacy and the new mm.
* Better support for WeakReference in runtime unit tests.
2023-04-06 11:40:45 +00:00
Alexander Shabalin dbe14a0a90 [K/N] Make gc::SweepExtraObjects similar to gc::Sweep. ^KT-56233 2023-04-06 11:40:44 +00:00
Alexander Shabalin eec3987e85 [K/N] Fix RunFinalizerHooks ^KT-56233 2023-04-06 11:40:43 +00:00
Alexander Shabalin aad6d2c8f8 [K/N] Add kotlin::ManuallyScoped<T> ^KT-56233
kotlin::ManuallyScoped<T> is a wrapper over T that pins T in place
and has a trivial constructor and destructor. Creation and destruction
of T must be carried out manually by construct and destroy methods.
2023-04-06 11:40:43 +00:00
Alexander Shabalin 6a0e6b11bd [K/N] Add kotlin::RWSpinLock ^KT-56233
Trivially constructible and destructible std::shared_mutex
implementation with additional guarantee that try_* methods fail only if
the mutex is locked.
2023-04-06 11:40:42 +00:00
Alexander Shabalin 9e5a2efb03 [K/N] Add kotlin::raw_ptr<T> helper class ^KT-56233
kotlin::raw_ptr<T> is exactly T* but with the default constructor
setting value to nullptr and with destructive move.
2023-04-06 11:40:42 +00:00
Alexander Shabalin 759d5009d6 [K/N] Fix combination of aggressive GC and state check
Merge-request: KT-MR-9483
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2023-04-05 13:16:01 +00:00
Abduqodiri Qurbonzoda 352316ba9f [K/N] Add @SinceKotlin for ObjC annotations #KT-57197 2023-04-03 12:21:31 +00:00
Abduqodiri Qurbonzoda 2f8e4a9775 [K/N] Deprecate ImmutableBlob
As a part of stabilizing Native stdlib.

Merge-request: KT-MR-9310
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-04-01 17:55:57 +00:00
Abduqodiri Qurbonzoda 8663239369 [K/N] Mark UnhandledExceptionHook-related API as experimental
As a part of efforts to stabilize Native stdlib.
2023-04-01 20:40:40 +03:00
Abduqodiri Qurbonzoda d738646a61 [K/N] Move kotlin.native.internal.Cleaner to kotlin.native.ref.Cleaner
As a part of efforts to stabilize Native stdlib #KT-55765.


Co-authored-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
Co-authored-by: Ilya Gorbunov <Ilya.Gorbunov@jetbrains.com>

Merge-request: KT-MR-9347
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2023-03-31 16:04:26 +00:00
Abduqodiri Qurbonzoda 9dd778bc89 [K/N] Deprecate initRuntimeIfNeeded() with WARNING
As a part of stabilizing Native stdlib.
2023-03-27 14:52:26 +03:00
Abduqodiri Qurbonzoda 33053405e0 [K/N] Mark Any?.identityHashCode() as experimental
As part of stabilizing Native stdlib.
2023-03-27 14:51:39 +03:00
Abduqodiri Qurbonzoda 0d53e11851 [K/N] Internalize all annotations in kotlin.native.internal package
As a part of efforts to stabilize Native stdlib #KT-55765.
2023-03-27 11:47:25 +00:00
Dmitriy Novozhilov a64d8e8a31 [Stdlib] Deprecate and make open Number.toChar()
^KT-46465 Fixed
2023-03-27 10:46:13 +00:00
Dmitriy Novozhilov 90ec84d7b7 [Stdlib] Update copyrighting in generated stdlib sources 2023-03-27 10:46:11 +00:00
Abduqodiri Qurbonzoda 9ff863ced7 [K/N] Mark BitSet with @ObsoleteNativeApi #KT-57088 2023-03-23 14:48:23 +00:00
Abduqodiri Qurbonzoda 3ffbfba1d6 [K/N] Introduce ObsoleteNativeApi annotation
An opt-in annotation to mark the Kotlin/Native standard library API
that is considered obsolete and is being phased out.
2023-03-23 14:48:22 +00:00
Pavel Kunyavskiy 1c2f34ab4e [K/N] Add test for Annotations on type parameters and update doc
^KT-57404
2023-03-23 10:27:23 +00:00
Pavel Kunyavskiy 8f4c6eae2f [K/N] Get rid of ArrayAsList class, use .asList() instead
^KT-57137
2023-03-15 18:03:14 +00:00
Pavel Kunyavskiy dc2e072af2 [K/N] Make exception handling in initializers more consistent with jvm
^KT-57091
2023-03-14 12:59:14 +00:00
Pavel Kunyavskiy 2b4abb0c7b [K/N] Remove outdated boxing related functions and classes
^KT-55765
2023-03-07 08:51:00 +00:00
Troels Bjerre Lund e33e1653f6 [K/N] Add design overview to custom_alloc/README and rename page types ^KT-55364
Co-authored-by: Troels Lund <troels@google.com>

Merge-request: KOTLIN-MR-626
Merged-by: Alexander Shabalin <alexander.shabalin@jetbrains.com>
2023-02-28 16:21:23 +00:00
Pavel Kunyavskiy 00c900cb49 [K/N] Optimize code generation for function references
In before, each function reference created 5 functions needed only
for equals/hashcode properties. It contributed arround 3.5% of code size
on several sample projects. This is now replaced by passing constant
object to base class constructor.
2023-02-14 13:00:47 +00:00