diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index 65b742852a2..73ffa812cea 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -1425,11 +1425,15 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map) + } else { + if (context.config.threadsAreAllowed && value.symbol.owner.isMainOnlyNonPrimitive) { + functionGenerationContext.checkMainThread(currentCodeContext.exceptionHandler) + } + val ptr = context.llvmDeclarations.forStaticField(value.symbol.owner).storage + functionGenerationContext.loadSlot(ptr, value.descriptor.isVar()) } - val ptr = context.llvmDeclarations.forStaticField(value.symbol.owner).storage - return functionGenerationContext.loadSlot(ptr, value.descriptor.isVar()) } } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrModuleSerializer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrModuleSerializer.kt index ef88b8fd2c4..805e30c7f61 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrModuleSerializer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/serialization/IrModuleSerializer.kt @@ -1080,7 +1080,7 @@ internal class IrModuleSerializer( // Make sure that all top level properties are initialized on library's load. file.declarations .filterIsInstance() - .filter { it.backingField?.initializer != null } + .filter { it.backingField?.initializer != null && !it.isConst } .forEach { proto.addExplicitlyExportedToCompiler(serializeIrSymbol(it.backingField!!.symbol)) } file.acceptVoid(object: IrElementVisitorVoid { diff --git a/samples/gradle.properties b/samples/gradle.properties index 053a240e37a..7eac8dd49ac 100644 --- a/samples/gradle.properties +++ b/samples/gradle.properties @@ -6,3 +6,4 @@ kotlin_version=1.3.21 # Use custom Kotlin/Native home: org.jetbrains.kotlin.native.home=../../dist +org.gradle.workers.max=4