diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheUpdater.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheUpdater.kt index c0074dc3140..236f0d643b7 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheUpdater.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/CacheUpdater.kt @@ -478,11 +478,11 @@ class CacheUpdater( } fun collectFilesToRebuildSignatures( - filesWithModifiedExports: KotlinSourceFileMap + filesWithModifiedExportsOrImports: KotlinSourceFileMap ): KotlinSourceFileMap { val libFilesToRebuild = KotlinSourceFileMutableMap() - for ((libFile, srcFiles) in filesWithModifiedExports) { + for ((libFile, srcFiles) in filesWithModifiedExportsOrImports) { val filesToRebuild by lazy(LazyThreadSafetyMode.NONE) { libFilesToRebuild.getOrPutFiles(libFile) } val fileStats by lazy(LazyThreadSafetyMode.NONE) { dirtyFileStats.getOrPutFiles(libFile) } val cache = getLibIncrementalCache(libFile) @@ -697,7 +697,9 @@ class CacheUpdater( // Load declarations referenced during `context` initialization loadedIr.loadUnboundSymbols() - val dirtyFiles = dirtyFileExports.entries.associateTo(newHashMapWithExpectedSize(dirtyFileExports.size)) { it.key to HashSet(it.value.keys) } + val dirtyFiles = dirtyFileExports.entries.associateTo(newHashMapWithExpectedSize(dirtyFileExports.size)) { + it.key to HashSet(it.value.keys) + } stopwatch.startNext("Processing IR - updating intrinsics and builtins dependencies") updater.updateStdlibIntrinsicDependencies(loadedIr, mainModuleFragment, dirtyFiles) diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ICUtils.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ICUtils.kt index b8cb667b7b0..e851e893691 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ICUtils.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/ic/ICUtils.kt @@ -8,6 +8,8 @@ package org.jetbrains.kotlin.ir.backend.js.ic import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.protobuf.CodedInputStream import org.jetbrains.kotlin.protobuf.CodedOutputStream +import org.jetbrains.kotlin.utils.newHashMapWithExpectedSize +import org.jetbrains.kotlin.utils.newHashSetWithExpectedSize import java.io.File import java.io.OutputStream @@ -41,11 +43,11 @@ internal fun notFoundIcError(what: String, libFile: KotlinLibraryFile? = null, s } internal inline fun buildSetUntil(to: Int, builderAction: MutableSet.(Int) -> Unit): Set { - return HashSet(to).apply { repeat(to) { builderAction(it) } } + return newHashSetWithExpectedSize(to).apply { repeat(to) { builderAction(it) } } } internal inline fun buildMapUntil(to: Int, builderAction: MutableMap.(Int) -> Unit): Map { - return HashMap(to).apply { repeat(to) { builderAction(it) } } + return newHashMapWithExpectedSize(to).apply { repeat(to) { builderAction(it) } } } internal fun findStdlib(