[JS IR] fix IC (KT-49878 fixed)
This commit is contained in:
@@ -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<K2JSCompilerArguments>() {
|
||||
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<K2JSCompilerArguments>() {
|
||||
PhaseConfig(wasmPhases),
|
||||
IrFactoryImpl,
|
||||
exportedDeclarations = setOf(FqName("main")),
|
||||
emitNameSection = arguments.wasmDebug,
|
||||
emitNameSection = arguments.wasmDebug,
|
||||
)
|
||||
val outputWasmFile = outputFile.withReplacedExtensionOrNull(outputFile.extension, "wasm")!!
|
||||
outputWasmFile.writeBytes(res.wasm)
|
||||
|
||||
Reference in New Issue
Block a user