Add new configuration key that can enable IR inlining for JVM
This commit is contained in:
+11
@@ -860,6 +860,17 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
|
||||
field = value
|
||||
}
|
||||
|
||||
@Argument(
|
||||
value = "-Xir-inliner",
|
||||
description = "Inline functions using IR inliner instead of bytecode inliner"
|
||||
)
|
||||
var enableIrInliner: Boolean = false
|
||||
set(value) {
|
||||
checkFrozen()
|
||||
field = value
|
||||
}
|
||||
|
||||
|
||||
override fun configureAnalysisFlags(collector: MessageCollector, languageVersion: LanguageVersion): MutableMap<AnalysisFlag<*>, Any> {
|
||||
val result = super.configureAnalysisFlags(collector, languageVersion)
|
||||
result[JvmAnalysisFlags.strictMetadataVersionSemantics] = strictMetadataVersionSemantics
|
||||
|
||||
@@ -308,6 +308,7 @@ fun CompilerConfiguration.configureAdvancedJvmOptions(arguments: K2JVMCompilerAr
|
||||
put(JVMConfigurationKeys.IGNORE_CONST_OPTIMIZATION_ERRORS, arguments.ignoreConstOptimizationErrors)
|
||||
put(JVMConfigurationKeys.NO_NEW_JAVA_ANNOTATION_TARGETS, arguments.noNewJavaAnnotationTargets)
|
||||
put(JVMConfigurationKeys.OLD_INNER_CLASSES_LOGIC, arguments.oldInnerClassesLogic)
|
||||
put(JVMConfigurationKeys.ENABLE_IR_INLINER, arguments.enableIrInliner)
|
||||
|
||||
val assertionsMode =
|
||||
JVMAssertionsMode.fromStringOrNull(arguments.assertionsMode)
|
||||
|
||||
Reference in New Issue
Block a user