diff --git a/libraries/stdlib/src/kotlin/coroutines/intrinsics/DebugProbes.kt b/libraries/stdlib/src/kotlin/coroutines/intrinsics/DebugProbes.kt
index 8ab55b9..a2c4838 100644
--- a/libraries/stdlib/src/kotlin/coroutines/intrinsics/DebugProbes.kt
+++ b/libraries/stdlib/src/kotlin/coroutines/intrinsics/DebugProbes.kt
@@ -46,6 +46,7 @@
  * invoke other suspending functions, so its next suspension can happen with a different frame pointer.
  */
 @SinceKotlin("1.3")
+@PublishedApi
 internal fun <T> probeCoroutineCreated(completion: Continuation<T>): Continuation<T> {
     /** implementation of this function is replaced by debugger */
     return completion
@@ -65,6 +66,7 @@
  */
 @SinceKotlin("1.3")
 @Suppress("UNUSED_PARAMETER")
+@PublishedApi
 internal fun probeCoroutineResumed(frame: Continuation<*>) {
     /** implementation of this function is replaced by debugger */
 }
@@ -81,6 +83,7 @@
  */
 @SinceKotlin("1.3")
 @Suppress("UNUSED_PARAMETER")
+@PublishedApi
 internal fun probeCoroutineSuspended(frame: Continuation<*>) {
     /** implementation of this function is replaced by debugger */
 }
diff --git a/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api b/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api
index b4603ca..e61da52 100644
--- a/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api
+++ b/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api
@@ -6280,6 +6280,7 @@
 final fun <#A: kotlin/Any?> kotlin.comparisons/minOf(#A, #A, #A, kotlin/Comparator<in #A>): #A // kotlin.comparisons/minOf|minOf(0:0;0:0;0:0;kotlin.Comparator<in|0:0>){0§<kotlin.Any?>}[0]
 final fun <#A: kotlin/Any?> kotlin.comparisons/minOf(#A, #A, kotlin/Comparator<in #A>): #A // kotlin.comparisons/minOf|minOf(0:0;0:0;kotlin.Comparator<in|0:0>){0§<kotlin.Any?>}[0]
 final fun <#A: kotlin/Any?> kotlin.comparisons/minOf(#A, kotlin/Array<out #A>..., kotlin/Comparator<in #A>): #A // kotlin.comparisons/minOf|minOf(0:0;kotlin.Array<out|0:0>...;kotlin.Comparator<in|0:0>){0§<kotlin.Any?>}[0]
+final fun <#A: kotlin/Any?> kotlin.coroutines.intrinsics/probeCoroutineCreated(kotlin.coroutines/Continuation<#A>): kotlin.coroutines/Continuation<#A> // kotlin.coroutines.intrinsics/probeCoroutineCreated|probeCoroutineCreated(kotlin.coroutines.Continuation<0:0>){0§<kotlin.Any?>}[0]
 final fun <#A: kotlin/Any?> kotlin.sequences/emptySequence(): kotlin.sequences/Sequence<#A> // kotlin.sequences/emptySequence|emptySequence(){0§<kotlin.Any?>}[0]
 final fun <#A: kotlin/Any?> kotlin.sequences/iterator(kotlin.coroutines/SuspendFunction1<kotlin.sequences/SequenceScope<#A>, kotlin/Unit>): kotlin.collections/Iterator<#A> // kotlin.sequences/iterator|iterator(kotlin.coroutines.SuspendFunction1<kotlin.sequences.SequenceScope<0:0>,kotlin.Unit>){0§<kotlin.Any?>}[0]
 final fun <#A: kotlin/Any?> kotlin.sequences/sequence(kotlin.coroutines/SuspendFunction1<kotlin.sequences/SequenceScope<#A>, kotlin/Unit>): kotlin.sequences/Sequence<#A> // kotlin.sequences/sequence|sequence(kotlin.coroutines.SuspendFunction1<kotlin.sequences.SequenceScope<0:0>,kotlin.Unit>){0§<kotlin.Any?>}[0]
@@ -6365,6 +6366,8 @@
 final fun kotlin.comparisons/minOf(kotlin/ULong, kotlin/ULongArray...): kotlin/ULong // kotlin.comparisons/minOf|minOf(kotlin.ULong;kotlin.ULongArray...){}[0]
 final fun kotlin.comparisons/minOf(kotlin/UShort, kotlin/UShort): kotlin/UShort // kotlin.comparisons/minOf|minOf(kotlin.UShort;kotlin.UShort){}[0]
 final fun kotlin.comparisons/minOf(kotlin/UShort, kotlin/UShortArray...): kotlin/UShort // kotlin.comparisons/minOf|minOf(kotlin.UShort;kotlin.UShortArray...){}[0]
+final fun kotlin.coroutines.intrinsics/probeCoroutineResumed(kotlin.coroutines/Continuation<*>) // kotlin.coroutines.intrinsics/probeCoroutineResumed|probeCoroutineResumed(kotlin.coroutines.Continuation<*>){}[0]
+final fun kotlin.coroutines.intrinsics/probeCoroutineSuspended(kotlin.coroutines/Continuation<*>) // kotlin.coroutines.intrinsics/probeCoroutineSuspended|probeCoroutineSuspended(kotlin.coroutines.Continuation<*>){}[0]
 final fun kotlin.internal/getProgressionLastElement(kotlin/Int, kotlin/Int, kotlin/Int): kotlin/Int // kotlin.internal/getProgressionLastElement|getProgressionLastElement(kotlin.Int;kotlin.Int;kotlin.Int){}[0]
 final fun kotlin.internal/getProgressionLastElement(kotlin/Long, kotlin/Long, kotlin/Long): kotlin/Long // kotlin.internal/getProgressionLastElement|getProgressionLastElement(kotlin.Long;kotlin.Long;kotlin.Long){}[0]
 final fun kotlin.internal/getProgressionLastElement(kotlin/UInt, kotlin/UInt, kotlin/Int): kotlin/UInt // kotlin.internal/getProgressionLastElement|getProgressionLastElement(kotlin.UInt;kotlin.UInt;kotlin.Int){}[0]
diff --git a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt
index 0600ad8..a1ece50 100644
--- a/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt
+++ b/libraries/tools/binary-compatibility-validator/reference-public-api/kotlin-stdlib-runtime-merged.txt
@@ -3112,6 +3112,12 @@
 	public abstract fun getStackTraceElement ()Ljava/lang/StackTraceElement;
 }
 
+public final class kotlin/coroutines/jvm/internal/DebugProbesKt {
+	public static final fun probeCoroutineCreated (Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
+	public static final fun probeCoroutineResumed (Lkotlin/coroutines/Continuation;)V
+	public static final fun probeCoroutineSuspended (Lkotlin/coroutines/Continuation;)V
+}
+
 public abstract interface class kotlin/enums/EnumEntries : java/util/List, kotlin/jvm/internal/markers/KMappedMarker {
 }
 
