Add new configuration key that can enable IR inlining for JVM

This commit is contained in:
Ivan Kylchik
2022-12-07 21:35:07 +01:00
committed by Space Team
parent ab2c3572ab
commit 1c210822ea
5 changed files with 22 additions and 0 deletions
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.backend.jvm.ir.constantValue
import org.jetbrains.kotlin.backend.jvm.ir.shouldContainSuspendMarkers
import org.jetbrains.kotlin.backend.jvm.lower.*
import org.jetbrains.kotlin.config.CommonConfigurationKeys
import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.descriptors.DescriptorVisibilities
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.IrElement
@@ -293,6 +294,11 @@ internal val functionInliningPhase = makeIrModulePhase<JvmBackendContext>(
return irFunction.symbol
}
}
if (!context.configuration.getBoolean(JVMConfigurationKeys.ENABLE_IR_INLINER)) {
return@makeIrModulePhase FileLoweringPass.Empty
}
FunctionInlining(
context, JvmInlineFunctionResolver(), context.innerClassesSupport,
inlinePureArguments = false,