From ee6d3ea28137030bfa2b9ba10458306de7c42309 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Fri, 12 Nov 2021 13:42:13 +0300 Subject: [PATCH] [JS IR] mark coroutine intrinsics as inline They are de-facto inlined, but their bodies don't get loaded when using the "no bodies except for inline functions" deserializtion mode. --- libraries/stdlib/js-ir/runtime/coroutineInternalJS.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/stdlib/js-ir/runtime/coroutineInternalJS.kt b/libraries/stdlib/js-ir/runtime/coroutineInternalJS.kt index fff30388341..e9ada77bd9c 100644 --- a/libraries/stdlib/js-ir/runtime/coroutineInternalJS.kt +++ b/libraries/stdlib/js-ir/runtime/coroutineInternalJS.kt @@ -28,11 +28,11 @@ internal fun interceptContinuationIfNeeded( @SinceKotlin("1.2") @PublishedApi -internal suspend fun getCoroutineContext(): CoroutineContext = getContinuation().context +internal inline suspend fun getCoroutineContext(): CoroutineContext = getContinuation().context // TODO: remove `JS` suffix oncec `NameGenerator` is implemented @PublishedApi -internal suspend fun suspendCoroutineUninterceptedOrReturnJS(block: (Continuation) -> Any?): T = +internal inline suspend fun suspendCoroutineUninterceptedOrReturnJS(block: (Continuation) -> Any?): T = returnIfSuspended(block(getContinuation()))