Added "optimize" flag to settings everywhere

This commit is contained in:
Denis Zharkov
2014-07-11 12:39:14 +04:00
committed by Alexander Udalov
parent 433c9cd4a5
commit 0e683b0b99
28 changed files with 301 additions and 25 deletions
@@ -20,4 +20,5 @@ import org.jetbrains.org.objectweb.asm.Opcodes;
public class OptimizationUtils {
public final static int API = Opcodes.ASM5;
public static final boolean DEFAULT_OPTIMIZATION_FLAG = true;
}
@@ -24,6 +24,7 @@ import org.jetbrains.jet.codegen.binding.CodegenBinding;
import org.jetbrains.jet.codegen.inline.InlineCodegenUtil;
import org.jetbrains.jet.codegen.intrinsics.IntrinsicMethods;
import org.jetbrains.jet.codegen.optimization.OptimizationClassBuilderFactory;
import org.jetbrains.jet.codegen.optimization.OptimizationUtils;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.descriptors.ScriptDescriptor;
import org.jetbrains.jet.lang.diagnostics.DiagnosticHolder;
@@ -117,7 +118,9 @@ public class GenerationState {
@NotNull List<JetFile> files
) {
this(project, builderFactory, Progress.DEAF, module, bindingContext, files, true, false, GenerateClassFilter.GENERATE_ALL,
InlineCodegenUtil.DEFAULT_INLINE_FLAG, null, null, DiagnosticHolder.DO_NOTHING, null);
InlineCodegenUtil.DEFAULT_INLINE_FLAG, OptimizationUtils.DEFAULT_OPTIMIZATION_FLAG,
null, null, DiagnosticHolder.DO_NOTHING, null
);
}
public GenerationState(
@@ -131,6 +134,7 @@ public class GenerationState {
boolean generateNotNullParamAssertions,
GenerateClassFilter generateClassFilter,
boolean inlineEnabled,
boolean optimizationEnabled,
@Nullable Collection<FqName> packagesWithRemovedFiles,
@Nullable String moduleId,
@NotNull DiagnosticHolder diagnostics,
@@ -152,8 +156,13 @@ public class GenerationState {
this.typeMapper = new JetTypeMapperWithOutDirectory(this.bindingContext, classBuilderMode, outDirectory);
this.intrinsics = new IntrinsicMethods();
if (optimizationEnabled) {
builderFactory = new OptimizationClassBuilderFactory(builderFactory);
}
this.classFileFactory = new ClassFileFactory(this, new BuilderFactoryForDuplicateSignatureDiagnostics(
new OptimizationClassBuilderFactory(builderFactory), this.bindingContext, diagnostics));
builderFactory, this.bindingContext, diagnostics));
this.generateNotNullAssertions = generateNotNullAssertions;
this.generateNotNullParamAssertions = generateNotNullParamAssertions;