Commit Graph

270 Commits

Author SHA1 Message Date
Abduqodiri Qurbonzoda f8bcba0b76 Align JS String.equals/compareTo(ignoreCase) behavior with JVM #KT-48999 2021-09-30 15:35:50 +00:00
Pavel Kunyavskiy e15cfe8f70 [K/N] Use gradle-level conditional compilation for core symbolication 2021-09-29 07:00:07 +00:00
Pavel Kunyavskiy 9f2035c43d [K/N] Don't assume all apple target support CoreSymbolication 2021-09-29 07:00:07 +00:00
Alexander Shabalin 43f64bc7b4 [K/N] Fix timer tests 2021-09-28 22:50:52 +00:00
Ilya Matveev 37e9d8c8f5 [K/N][GC] Fix enabling the gc-aggressive mode 2021-09-28 08:18:38 +00:00
Alexander Shabalin 34c89d855a [K/N] Improve logging with multithreading 2021-09-27 09:56:10 +00:00
Alexander Shabalin 84e7b53926 [K/N] Rework GCScheduler to schedule GC on its own. 2021-09-27 08:03:55 +00:00
Alexander Shabalin f4c5a047ac [K/N] Build separate common_gc for each GC. 2021-09-27 08:03:54 +00:00
Alexander Shabalin 3e8c1be5c1 [K/N] Add RepeatedTimer 2021-09-27 08:03:53 +00:00
Ilya Gorbunov 7666377565 Control Duration init block assertions on JVM with -ea option
On other platforms enable them unconditionally
2021-09-24 16:17:54 +00:00
Ilya Gorbunov 96611de344 Stabilize Duration, DurationUnit and related top-level functions KT-46784
Co-authored-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com>
2021-09-24 16:17:53 +00:00
Ilya Gorbunov 0fb25ccc2b Minor: update copyright year in Native stdlib generated sources 2021-09-23 21:06:17 +03:00
Ilya Gorbunov b9f78d002a Do not duplicate Range/Progression sources in Native runtime 2021-09-23 21:06:17 +03:00
Pavel Kunyavskiy 80fbc262b3 [K/N] Fix libbacktrace compiler options 2021-09-21 20:10:32 +00:00
Abduqodiri Qurbonzoda 261d0c2783 Promote collection builders to stable #KT-47421 2021-09-21 11:25:28 +00:00
Abduqodiri Qurbonzoda 93833f7db2 Advance K/N StringBuilder.appendln() deprecation level to ERROR #KT-38754 2021-09-20 15:25:53 +03:00
Pavel Kunyavskiy c704fd6ae7 [K/N] Support stacktrace using libbacktrace 2021-09-20 11:28:08 +00:00
Pavel Kunyavskiy 4fa5be3e58 [K/N] Patch libbacktrace to support finding dsyms for framework 2021-09-20 11:28:08 +00:00
Pavel Kunyavskiy 8a6b997559 [K/N] Patch libbacktrace to work in ios simulator. 2021-09-20 11:28:07 +00:00
Pavel Kunyavskiy 45317ca221 [K/N] Patch libbacktrace for columns support 2021-09-20 11:28:07 +00:00
Pavel Kunyavskiy 91dd9dc9b0 [K/N] Add libbacktrace 2021-09-20 11:28:06 +00:00
Pavel Kunyavskiy a5f3b087a4 [K/N] Change getSourceInfo signature to allow returning several frames 2021-09-20 11:28:06 +00:00
Ilya Matveev 35ff131608 fixup! fixup! [K/N][New MM] Disallow getting thread data for detached threads 2021-09-20 07:28:58 +00:00
Ilya Matveev 474b2fc90e [K/N][New MM] Fix getting current thread data in thread suspension 2021-09-20 07:28:57 +00:00
Ilya Matveev bfc4ff6343 [K/N][New MM] Disallow getting thread data for detached threads
This patch fixes a performance degradation introduced by
99bd26c2ef (Switch thread states
in termination handlers).
2021-09-20 07:28:57 +00:00
Abduqodiri Qurbonzoda 718965227e Advance deprecation level of K/N StringBuilder renamed functions to ERROR #KT-46101 2021-09-16 19:45:04 +03:00
Abduqodiri Qurbonzoda d9f8ce899a Promote rotateLeft and rotateRight to stable 2021-09-16 19:27:21 +03:00
Abduqodiri Qurbonzoda 34a50e4e34 Promote regex splitToSequence to stable 2021-09-16 19:26:33 +03:00
Abduqodiri Qurbonzoda f1befc0108 Format Other_Uppercase/Other_Lowercase property as an identifier in docs 2021-09-15 17:31:52 +03:00
Svyatoslav Scherbina 8c923f6504 Native: optimize autorelease in ObjCExport calls to Kotlin
Use objc_autoreleaseReturnValue to eliminate the autorelease operation
for return value if the caller is optimized (usually it is).

This required moving autorelease operation from Kotlin -> ObjC ref
conversion to bridge epilogue.

To achieve this, also make ObjCExport Kotlin ref -> ObjC ref dynamic
converters return retained reference (instead of autoreleased one).
To reflect this, rename the corresponding entities in the code.
2021-09-15 11:48:16 +00:00
Svyatoslav Scherbina be1acc8103 Native: eliminate autorelease in ObjCExport set/getAssociatedTypeInfo 2021-09-15 11:48:14 +00:00
Alexander Shabalin d03a7993ed [K/N] Implement GCScheduler 2021-09-14 13:53:36 +00:00
Pavel Kunyavskiy 91c6ee1ebb [K/N] Replace SymbolName with GCUnsafeCall in stdlib 2021-09-10 07:46:39 +00:00
Mikhail Glukhikh ffbd574a08 Use -opt-in instead of -Xopt-in in comments and scripts 2021-09-08 23:43:55 +03:00
Elena Lepilkina e89ae81f87 [K/N] Updated mimalloc version in README 2021-09-08 13:53:19 +00:00
Elena Lepilkina 084268573c [K/N] Added some other functions in list with safe functions for state checker 2021-09-08 13:53:18 +00:00
Elena Lepilkina 8ff960fbe3 [K/N] Updated mimalloc to version 1.7.2 2021-09-08 13:53:17 +00:00
Elena Lepilkina e454c824d5 [K/N] Enable mimalloc support on Windows and Mac Arm64 2021-09-08 13:53:17 +00:00
Abduqodiri Qurbonzoda 97eb28144f Introduce Common readln() and readlnOrNull() top-level functions #KT-48456 2021-09-05 15:31:11 +00:00
Abduqodiri Qurbonzoda 94b371af5b Remove brittle ‘contains’ optimization in minus/removeAll/retainAll #KT-45438 2021-09-02 05:58:19 +03:00
Pavel Kunyavskiy 98e4d67900 [K/N] Add opt-in flag to use debug info from native libs
Unfortunately, llvm removes full debug info from module on any error.
Different version debug info in bitcode is not always compatible, also
it adds this debug info additional requirements on generated debug info.

So this feature is quite unstable and shouldn't be enabled by default,
although it has almost no downsides when worked correctly.
2021-09-01 08:35:21 +00:00
Sergey Bogolepov 4b5a7c6646 [K/N] Add binary option to disable freezing
We don't want to deprecate freezing at all, but it is possible
that freezing, new memory model and lazy global initialization
combination might not work in some cases. It might be a problem
when such case appears in 3rd-party library that user can't fix.

To mitigate this problem this commit introduces `freezing` binary
option. It has three variants:
* Full - ol' good behavior.
* Disabled - well, no freezing at all.
* ExplicitOnly - a compromise when user want to freeze something
themselves, but something is messed up during globals initialization.
2021-08-30 12:33:03 +00:00
Igor Chevdar e6be5e4266 [K/N][codegen][runtime] Removed remnants of main thread init logic 2021-08-27 18:22:51 +05:00
Ilya Matveev d32b42c538 [K/N][New MM] Add runtime asserts to state switch functions 2021-08-26 14:46:08 +00:00
Ilya Matveev 99bd26c2ef [K/N][Runtime] Switch thread states in termination handlers 2021-08-26 14:46:07 +00:00
Ilya Matveev a1f6c70355 [K/N][Runtime] Use the objc module in the unit tests
Calling initRuntime requires some machinery from the
objc module (e.g. adding the toKotlin method to NSObject).

Include this module to the tests to allow full runtime
initialization in the tests
2021-08-26 14:46:06 +00:00
Ilya Matveev e85761bc47 [K/N][Runtime] Support nice mocks for scoped mock functions 2021-08-26 14:46:06 +00:00
Alexander Shabalin a279b2230f [K/N] Logging for runtime 2021-08-25 08:04:01 +00:00
Pavel Kunyavskiy 523e9495fc [K/N] Optimize safepoint implementation 2021-08-20 07:01:06 +00:00
Pavel Kunyavskiy d88a665fa8 [K/N] Implement Lazy for new mm 2021-08-13 13:20:59 +00:00