diff --git a/kotlin-native/runtime/src/main/cpp/Runtime.cpp b/kotlin-native/runtime/src/main/cpp/Runtime.cpp index 00998d5431a..2ea627aa97f 100644 --- a/kotlin-native/runtime/src/main/cpp/Runtime.cpp +++ b/kotlin-native/runtime/src/main/cpp/Runtime.cpp @@ -378,4 +378,9 @@ KBoolean Kotlin_Debugging_isThreadStateNative() { return kotlin::GetThreadState() == kotlin::ThreadState::kNative; } + +KBoolean Kotlin_Debugging_isPermanent(KRef obj) { + return obj->permanent(); +} + } // extern "C" diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Debugging.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Debugging.kt index 32886feb19b..4f6d501cb73 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Debugging.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Debugging.kt @@ -16,6 +16,10 @@ public object Debugging { get() = Debugging_isThreadStateRunnable() } +@GCUnsafeCall("Kotlin_Debugging_isPermanent") +@InternalForKotlinNative +public external fun Any.isPermanent() : Boolean + @GCUnsafeCall("Kotlin_Debugging_getForceCheckedShutdown") private external fun Debugging_getForceCheckedShutdown(): Boolean