diff --git a/kotlin-native/runtime/src/gc/stms/cpp/SameThreadMarkAndSweep.cpp b/kotlin-native/runtime/src/gc/stms/cpp/SameThreadMarkAndSweep.cpp index 5f33570b475..165efed3a31 100644 --- a/kotlin-native/runtime/src/gc/stms/cpp/SameThreadMarkAndSweep.cpp +++ b/kotlin-native/runtime/src/gc/stms/cpp/SameThreadMarkAndSweep.cpp @@ -173,6 +173,8 @@ bool gc::SameThreadMarkAndSweep::PerformFullGC() noexcept { auto timeSweepUs = konan::getTimeMicros(); RuntimeLogDebug({kTagGC}, "Sweeped in %" PRIu64 " microseconds", timeSweepUs - timeSweepExtraObjectsUs); + kotlin::compactObjectPoolInMainThread(); + // Can be unsafe, because we've stopped the world. auto objectsCountAfter = objectFactory_.GetSizeUnsafe(); auto extraObjectsCountAfter = mm::GlobalData::Instance().extraObjectDataFactory().GetSizeUnsafe();