diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt index a5ea0a6698a..ea9dc09c872 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt @@ -236,6 +236,10 @@ fun transformFirToIr( } val firResult = FirResult(firOutputs) + + val performanceManager = moduleStructure.compilerConfiguration[CLIConfigurationKeys.PERF_MANAGER] + performanceManager?.notifyIRTranslationStarted() + return firResult.convertToIrAndActualize( fir2IrExtensions, Fir2IrConfiguration.forKlibCompilation(moduleStructure.compilerConfiguration, diagnosticsReporter), @@ -247,6 +251,8 @@ fun transformFirToIr( actualizerTypeContextProvider = ::IrTypeSystemContextImpl ) { _, irPart -> (irPart.irModuleFragment.descriptor as? FirModuleDescriptor)?.let { it.allDependencyModules = librariesDescriptors } + }.also { + performanceManager?.notifyIRTranslationFinished() } } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/FirKotlinToJvmBytecodeCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/FirKotlinToJvmBytecodeCompiler.kt index 3a17ccab3fa..39accd47d48 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/FirKotlinToJvmBytecodeCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/FirKotlinToJvmBytecodeCompiler.kt @@ -154,14 +154,10 @@ object FirKotlinToJvmBytecodeCompiler { return null } - performanceManager?.notifyIRTranslationStarted() - val fir2IrExtensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler) val fir2IrAndIrActualizerResult = firResult.convertToIrAndActualizeForJvm(fir2IrExtensions, configuration, diagnosticsReporter, irGenerationExtensions) - performanceManager?.notifyIRTranslationFinished() - performanceManager?.notifyGenerationStarted() val generationState = runBackend( fir2IrExtensions, diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt index db43419dcf5..61376a431a2 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/pipeline/compilerPipeline.kt @@ -133,13 +133,9 @@ fun compileModulesUsingFrontendIrAndLightTree( return false } - performanceManager?.notifyIRTranslationStarted() - val compilerEnvironment = ModuleCompilerEnvironment(projectEnvironment, diagnosticsReporter) val irInput = convertAnalyzedFirToIr(compilerInput, analysisResults, compilerEnvironment) - performanceManager?.notifyIRTranslationFinished() - performanceManager?.notifyGenerationStarted() val codegenOutput = generateCodeFromIr(irInput, compilerEnvironment, performanceManager) @@ -192,6 +188,9 @@ fun FirResult.convertToIrAndActualizeForJvm( diagnosticsReporter: DiagnosticReporter, irGeneratorExtensions: Collection, ): Fir2IrActualizedResult { + val performanceManager = configuration[CLIConfigurationKeys.PERF_MANAGER] + performanceManager?.notifyIRTranslationStarted() + val fir2IrConfiguration = Fir2IrConfiguration.forJvmCompilation(configuration, diagnosticsReporter) return convertToIrAndActualize( @@ -203,7 +202,7 @@ fun FirResult.convertToIrAndActualizeForJvm( FirJvmVisibilityConverter, DefaultBuiltIns.Instance, ::JvmIrTypeSystemContext, - ) + ).also { performanceManager?.notifyIRTranslationFinished() } } fun generateCodeFromIr( diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt index 6a0741afcea..2418c24e110 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunner.kt @@ -263,16 +263,12 @@ open class IncrementalFirJvmCompilerRunner( val cycleResult = firIncrementalCycle() ?: return ExitCode.COMPILATION_ERROR to allCompiledSources - performanceManager?.notifyIRTranslationStarted() - val extensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler) val irGenerationExtensions = projectEnvironment.project.let { IrGenerationExtension.getInstances(it) } val (irModuleFragment, components, pluginContext, irActualizedResult) = cycleResult.convertToIrAndActualizeForJvm( extensions, configuration, compilerEnvironment.diagnosticsReporter, irGenerationExtensions, ) - performanceManager?.notifyIRTranslationFinished() - performanceManager?.notifyGenerationStarted() val irInput = ModuleCompilerIrBackendInput( targetId,