Commit Graph

325 Commits

Author SHA1 Message Date
Alexander Shabalin d8f99d8974 [K/N] Avoid global dtors in suspension and logging
^KT-50713

Merge-request: KT-MR-5426
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-01-12 13:28:43 +00:00
Alexander Shabalin 65fdfffeb4 [K/N] Make GC.collect wait for finalizers being run
^KT-50713

Merge-request: KT-MR-5404
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-01-11 11:39:22 +00:00
Igor Yakovlev e58d4163ad [WASM] Add std methods for collections 2022-01-05 13:12:32 +01:00
Pavel Punegov cffdb2c3aa [K/N][test] Disable tail calls optimization for stack trace tests
Without disable_tail_calls attribute Clang optimizes these methods on
macos_aarch64 replacing invocation (BL) with simple branch (B) that
makes stacktrace have no test methods.
2021-12-30 17:29:19 +00:00
Alexander Shabalin 3fe05233e2 [K/N] Fix set_terminate usage in ExceptionsTest.cpp
Merge-request: KT-MR-5376
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2021-12-29 12:58:35 +00:00
Alexander Shabalin a6b5339980 [K/N] Fix a race in ThreadWithContextTest
Merge-request: KT-MR-5349
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2021-12-24 18:49:26 +00:00
Alexander Shabalin 5de0f78350 [K/N] Extract SingleThreadExecutor.
^KT-48537

Merge-request: KT-MR-5338
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2021-12-24 11:04:45 +00:00
Ilya Matveev 2f32214106 [K/N][Runtime] Fix deadlock in file initialization
Issue #KT-50491 Fixed
2021-12-23 13:21:01 +00:00
Pavel Punegov d13f6744a6 [Native] Improve skipped and filed tests reporting in GTestLogger
List skipped tests appropriately like the GTest does
2021-12-22 10:11:36 +00:00
Alexander Shabalin 43b8683b9c [K/N] Separate MM from GC implementations
^KT-50291

Merge-request: KT-MR-5191
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2021-12-21 08:33:51 +00:00
Svyatoslav Scherbina 2bd53e3dea Native, old MM: fix releasing foreign refs to circular frozen graphs
^KT-49497
2021-12-20 14:56:38 +00:00
Alexander Shabalin cc8f278948 [K/N] Add a separate aggressive GC scheduler
^KT-48537

Merge-request: KT-MR-5253
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2021-12-20 11:04:46 +00:00
Alexander Shabalin 8863d48595 [K/N] Simplify safepoint slowpath in CMS
^KT-50291

Merge-request: KT-MR-5263
2021-12-15 19:34:16 +00:00
Alexander Shabalin 7eb0798d64 [K/N] Fix SafePointSlowPath in STMS
^KT-48537

Merge-request: KT-MR-5257
2021-12-15 07:54:07 +00:00
Pavel Kunyavskiy 42aaa86f10 [K/N] Mark finalizing extra objects to avoid double finalizing
When new mark phase finished before previous finalization is done,
extra objects are still in list, which would be passed to finalize.
This could lead to unpredictable effects.

After this commit such objects are marked by new flag and ignored by
next gc runs.
2021-12-13 05:32:11 +00:00
Pavel Kunyavskiy ebca4d793f [K/N] Implement non-blocking approach for sweep 2021-12-13 05:32:10 +00:00
Pavel Kunyavskiy df4b367296 [K/N] Add cms related targets and compiler option 2021-12-13 05:32:10 +00:00
Pavel Kunyavskiy 03299023f1 [K/N] Copy stms GC to start cms development 2021-12-13 05:32:09 +00:00
Pavel Kunyavskiy dd2849b7e7 [K/N] Extract collecting root set to utils 2021-12-13 05:32:09 +00:00
Pavel Kunyavskiy 7373183e6f [K/N] Rework scheduler type choosing 2021-12-13 05:32:08 +00:00
Pavel Kunyavskiy b22dec062c [K/N] Optimize finalizing of simple extra objects
There is no need to delay ExtraObject deletion when it doesn't have
associated object. We can just remove it while iterating on them.
2021-12-13 05:32:08 +00:00
Pavel Kunyavskiy 3442631d42 [K/N] Custom bitcode optimization pass to avoid multiple loads of TLS
^KT-50075
2021-12-09 08:06:53 +00:00
Igor Yakovlev d55e16a030 [WASM] Regex std implementation 2021-12-07 21:33:31 +03:00
Alexander Shabalin c57df1ac40 [K/N] Track stats in Mark
Tracking alive heap set size after Mark GC phase.

Merge-request: KT-MR-5179
^KT-48537
2021-12-06 14:51:01 +00:00
Elena Lepilkina 219d9707ec [K/N][stdlib] Fix cases with existing pattern before matched with dot quantifier interval in regular expressions implementation(^KT-49967 Fixed) 2021-12-06 09:23:19 +00:00
Alexander Shabalin 4fd61ad1b0 [K/N] Change AtomicReference for the new MM ^KT-50026
Make AtomicReference behave like FreezableAtomicReference with the new MM: not frozen by default, don't require freezing value unless the ref itself is frozen. The behaviour with the old MM is unchanged.

Merge-request: KT-MR-5155
2021-12-03 17:08:21 +00:00
Pavel Kunyavskiy 9b366af38b [K/N] Fix String.compareTo on unicode strings
^KT-49873
2021-12-01 07:51:27 +00:00
Svyatoslav Scherbina 24e7a11abc Native: fix losing Worker.executeAfter jobs on scheduled time clash
The implementation was keeping delayed jobs in std::set sorted
only by the scheduled execution time (in microseconds since epoch).
So two jobs submitted to a worker and having the same scheduled time
were considered equivalent by the set, and one of them got lost.

Fix this by using std::multiset instead of std::set.
2021-11-26 11:59:40 +00:00
Pavel Punegov 0249b7ed74 [K/N] Stdlib: warnings as errors
Fix or suppress warnings in Native stdlib.
2021-11-25 08:08:38 +00:00
Ilya Matveev ae128348ac [K/N][runtime] Provide API for stack-allocated stacktraces 2021-11-25 06:56:34 +00:00
Svyatoslav Scherbina 5020d5f2f9 Native: make SymbolName internal
See ^KT-46649
2021-11-23 08:09:44 +00:00
Nikolay Kasyanov 4dcfd38236 ObjCExport: remove KotlinUnit from suspend funs returning Unit (#4635)
With `unitSuspendFunctionObjCExport=proper` binary option,
for Unit-returning suspend functions ObjCExport now generates
completion handlers without redundant `KotlinUnit*` result parameter.

So Swift (5.5+) can import these functions as Void-returning async
functions.

^KT-47399 Fixed
2021-11-18 10:01:33 +03:00
zhelenskiy c1dc1f7e33 Diagnostics renamed
Signed-off-by: zhelenskiy <zhelenskiy2000@yandex.ru>
2021-11-13 12:38:45 +01:00
Elena Lepilkina 8ed4279759 [K/N] Fix wasm build 2021-11-03 10:32:27 +00:00
Elena Lepilkina f67941e244 [K/N] Replaced safe points to prologue 2021-11-02 12:04:45 +00:00
Elena Lepilkina 4d1c2c90d6 [K/N] Assertion for checking frame in LeaveFrame for old MM 2021-11-02 12:04:44 +00:00
Elena Lepilkina 48e3df5224 [K/N] Small refactoring (review fixes) 2021-11-02 12:04:42 +00:00
Elena Lepilkina 778bbaf5b0 [K/N] Added frame check in LeaveFrame 2021-11-02 12:04:41 +00:00
Elena Lepilkina 2d72f4d5a9 [K/N] Added checks for tests that current frame after catch is right 2021-11-02 12:04:40 +00:00
Elena Lepilkina c294365068 [K/N] Catch exceptions in CAdapters when caches enabled (KT-47828 fixed) 2021-11-02 12:04:38 +00:00
Elena Lepilkina cde51ecc3a [K/N] Added function SetCurrentFrame to use in unwind block 2021-11-02 12:04:37 +00:00
Pavel Kunyavskiy 937f4c1dab [K/N] Separate sweep pass for extra-objects
^KT-49325
2021-10-27 12:11:17 +00:00
Pavel Kunyavskiy ae64af09fb [K/N] Add ability to get base object from extra data
^KT-49325
2021-10-27 12:11:16 +00:00
Pavel Kunyavskiy da3e31cd3a [K/N] Rework allocating of ExtraObjectData objects.
^KT-49325
2021-10-27 12:11:16 +00:00
Pavel Kunyavskiy 495a10dd7f [K/N] Add test failing with asan
^KT-49325
2021-10-27 12:11:15 +00:00
Mattia Iavarone c92e34ca9f [Native] Enable real Android Native executables (#4624)
* Add AndroidProgramType binary option, override entry point, fix linker flags

* Add Konan_main_standalone entry point to the Android runtime

* Add compiler warning

* Make standalone programs print to stdout

* Fix warning message and readability
2021-10-26 11:33:17 +07:00
Mattia Iavarone 64a0d492b9 Fix Arm32 atomics 2021-10-25 22:31:15 +03:00
Pavel Kunyavskiy 6d3158b275 [K/N] Adjust addresses when passing to source line resolution 2021-10-21 12:18:39 +00:00
Ilya Matveev 8466f26093 [K/N][Runtime] Add \x01_munmap to the CallsChecker's excludes 2021-10-19 05:05:18 +00:00
Ilya Matveev 3925b05274 [K/N][Runtime] Add more tests for thread state guards 2021-10-18 11:32:17 +00:00