[K/N] Fix notification order in finalizers In before thread waiting for finalizers done could be unsuspended before statistics about finalization is written. Probably it doesn't affect real code, but it can lead to test failures.
diff --git a/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweep.cpp b/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweep.cpp index c0a9ba0..644ae6f 100644 --- a/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweep.cpp +++ b/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweep.cpp
@@ -103,8 +103,8 @@ #endif gcScheduler_(gcScheduler), finalizerProcessor_(std_support::make_unique<FinalizerProcessor>([this](int64_t epoch) { - state_.finalized(epoch); GCHandle::getByEpoch(epoch).finalizersDone(); + state_.finalized(epoch); })) { gcScheduler_.SetScheduleGC([this]() NO_INLINE { RuntimeLogDebug({kTagGC}, "Scheduling GC by thread %d", konan::currentThreadId());