From de3ad3cd3aa3b24a918ec6cbeb1da61b3081a3ff Mon Sep 17 00:00:00 2001 From: Dmitriy Dolovov Date: Fri, 15 Mar 2024 17:31:44 +0100 Subject: [PATCH] Revert "[K/N] deserialize inline functions for header klibs" This reverts commit a481f3545091ba42caaad46126a139a00125ad82. --- .../src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt | 5 +---- .../backend/konan/lower/NativeInlineFunctionResolver.kt | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt index 51b57b90310..845455e045c 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/PsiToIr.kt @@ -32,7 +32,6 @@ import org.jetbrains.kotlin.ir.objcinterop.IrObjCOverridabilityCondition import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.visitors.acceptVoid -import org.jetbrains.kotlin.library.isHeader import org.jetbrains.kotlin.library.metadata.DeserializedKlibModuleOrigin import org.jetbrains.kotlin.library.metadata.KlibModuleOrigin import org.jetbrains.kotlin.library.metadata.isFromInteropLibrary @@ -181,9 +180,7 @@ internal fun PsiToIrContext.psiToIr( val kotlinLibrary = (dependency.getCapability(KlibModuleOrigin.CAPABILITY) as? DeserializedKlibModuleOrigin)?.library val isFullyCachedLibrary = kotlinLibrary != null && config.cachedLibraries.isLibraryCached(kotlinLibrary) && kotlinLibrary != config.libraryToCache?.klib - if (isFullyCachedLibrary && kotlinLibrary?.isHeader == true) - linker.deserializeHeadersWithInlineBodies(dependency, kotlinLibrary) - else if (isProducingLibrary || isFullyCachedLibrary) + if (isProducingLibrary || isFullyCachedLibrary) linker.deserializeOnlyHeaderModule(dependency, kotlinLibrary) else linker.deserializeIrModuleHeader(dependency, kotlinLibrary, dependency.name.asString()) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt index bcb507d4c88..558ba53eccf 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/lower/NativeInlineFunctionResolver.kt @@ -38,8 +38,7 @@ internal class NativeInlineFunctionResolver(override val context: Context, val g val packageFragment = function.getPackageFragment() val moduleDeserializer = context.irLinker.getCachedDeclarationModuleDeserializer(function) val irFile: IrFile - val functionIsCached = moduleDeserializer != null && function.body == null - val (possiblyLoweredFunction, shouldLower) = if (functionIsCached) { + val (possiblyLoweredFunction, shouldLower) = if (moduleDeserializer != null) { // The function is cached, get its body from the IR linker. val (firstAccess, deserializedInlineFunction) = moduleDeserializer.deserializeInlineFunction(function) generationState.inlineFunctionOrigins[function] = deserializedInlineFunction @@ -58,6 +57,7 @@ internal class NativeInlineFunctionResolver(override val context: Context, val g } if (shouldLower) { + val functionIsCached = moduleDeserializer != null lower(possiblyLoweredFunction, irFile, functionIsCached) if (!functionIsCached) { generationState.inlineFunctionOrigins[function] =