From 038514ed656a8d72000b63d11a2fd9fe57415976 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Wed, 1 Dec 2021 16:16:55 +0300 Subject: [PATCH] [JS IR] fix IC (KT-49878 fixed) --- .../jetbrains/kotlin/cli/js/K2JsIrCompiler.kt | 32 ++++++++----------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt index d115563b7eb..f23e2a56804 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt @@ -44,6 +44,7 @@ import org.jetbrains.kotlin.ir.backend.js.codegen.JsGenerationGranularity import org.jetbrains.kotlin.ir.backend.js.ic.* import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformerTmp +import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImplForJsIC import org.jetbrains.kotlin.ir.declarations.persistent.PersistentIrFactory import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult import org.jetbrains.kotlin.js.config.* @@ -213,31 +214,24 @@ class K2JsIrCompiler : CLICompiler() { MainModule.Klib(includes) } - val perFileCache = usePerFileInvalidator(configurationJs) - val start = System.currentTimeMillis() - val updated = if (perFileCache) { - actualizeCacheForModule(includes, outputFilePath, configurationJs, libraries, icCaches, IrFactoryImpl, ::buildCacheForModuleFiles) - } else { - buildCache( - cachePath = outputFilePath, - project = projectJs, - mainModule = mainModule, - configuration = config.configuration, - dependencies = libraries, - friendDependencies = friendLibraries, - icCache = checkCaches(libraries, icCaches, skipLib = mainModule.libPath) - ) - } + val updated = actualizeCacheForModule( + includes, + outputFilePath, + configurationJs, + libraries, + icCaches, + IrFactoryImplForJsIC(WholeWorldStageController()), + ::buildCacheForModuleFiles + ) - val invalidationType = if (perFileCache) "per-file" else "per-module" if (updated) { - messageCollector.report(INFO, "IC $invalidationType cache building duration: ${System.currentTimeMillis() - start}ms") + messageCollector.report(INFO, "IC per-file cache building duration: ${System.currentTimeMillis() - start}ms") } else { messageCollector.report( INFO, - "IC $invalidationType cache up-to-date check duration: ${System.currentTimeMillis() - start}ms" + "IC per-file cache up-to-date check duration: ${System.currentTimeMillis() - start}ms" ) } return OK @@ -337,7 +331,7 @@ class K2JsIrCompiler : CLICompiler() { PhaseConfig(wasmPhases), IrFactoryImpl, exportedDeclarations = setOf(FqName("main")), - emitNameSection = arguments.wasmDebug, + emitNameSection = arguments.wasmDebug, ) val outputWasmFile = outputFile.withReplacedExtensionOrNull(outputFile.extension, "wasm")!! outputWasmFile.writeBytes(res.wasm)