diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt index ca4f87d8047..ac0f8c64e69 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGBuilder.kt @@ -240,7 +240,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag override fun visitFunction(declaration: IrFunction) { declaration.body?.let { - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("Analysing function ${declaration.descriptor}") println("IR: ${ir2stringWhole(declaration)}") } @@ -250,7 +250,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag override fun visitField(declaration: IrField) { declaration.initializer?.let { - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("Analysing global field ${declaration.descriptor}") println("IR: ${ir2stringWhole(declaration)}") } @@ -263,7 +263,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag val visitor = ElementFinderVisitor() body.acceptVoid(visitor) - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("FIRST PHASE") visitor.variableValues.elementData.forEach { t, u -> println("VAR $t:") @@ -279,7 +279,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag // Compute transitive closure of possible values for variables. visitor.variableValues.computeClosure() - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("SECOND PHASE") visitor.variableValues.elementData.forEach { t, u -> println("VAR $t:") @@ -292,7 +292,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag val function = FunctionDFGBuilder(expressionValuesExtractor, visitor.variableValues, descriptor, visitor.expressions, visitor.returnValues, visitor.thrownValues).build() - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { function.debugOutput() } @@ -300,7 +300,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag } }, data = null) - DEBUG_OUTPUT(2) { + DEBUG_OUTPUT(1) { println("SYMBOL TABLE:") symbolTable.classMap.forEach { descriptor, type -> println(" DESCRIPTOR: $descriptor") @@ -481,7 +481,7 @@ internal class ModuleDFGBuilder(val context: Context, val irModule: IrModuleFrag return variables[descriptor as VariableDescriptor]!! } return nodes.getOrPut(expression) { - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("Converting expression") println(ir2stringWhole(expression)) } diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt index 3698ff50acd..adc497d6986 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/optimizations/DFGSerializer.kt @@ -694,7 +694,7 @@ internal object DFGSerializer { val symbolTable = moduleDFG.symbolTable val typeMap = (symbolTable.classMap.values + DataFlowIR.Type.Virtual).distinct().withIndex().associateBy({ it.value }, { it.index }) val functionSymbolMap = symbolTable.functionMap.values.distinct().withIndex().associateBy({ it.value }, { it.index }) - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("TYPES: ${typeMap.size}, " + "FUNCTIONS: ${functionSymbolMap.size}, " + "PRIVATE FUNCTIONS: ${functionSymbolMap.keys.count { it is DataFlowIR.FunctionSymbol.Private }}, " + @@ -841,7 +841,7 @@ internal object DFGSerializer { context.librariesWithDependencies.forEach { library -> val libraryDataFlowGraph = library.dataFlowGraph - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("Data flow graph size for lib '${library.libraryName}': ${libraryDataFlowGraph?.size ?: 0}") } @@ -909,7 +909,7 @@ internal object DFGSerializer { } } - DEBUG_OUTPUT(1) { + DEBUG_OUTPUT(0) { println("Lib: ${library.libraryName}, types: ${types.size}, functions: ${functionSymbols.size}") } @@ -1110,6 +1110,16 @@ internal object DFGSerializer { } } + DEBUG_OUTPUT(1) { + allTypes.forEach { + println(it) + println(" SUPER TYPES:") + it.superTypes.forEach { + println(" $it") + } + } + } + return ExternalModulesDFG(allTypes, publicTypesMap, publicFunctionsMap, functions) } } \ No newline at end of file