mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-116324 IDEA 13 compiler uses some old xmx setting
This commit is contained in:
@@ -19,6 +19,7 @@ import com.intellij.compiler.CompilerConfiguration;
|
||||
import com.intellij.compiler.CompilerConfigurationImpl;
|
||||
import com.intellij.compiler.CompilerWorkspaceConfiguration;
|
||||
import com.intellij.compiler.MalformedPatternException;
|
||||
import com.intellij.compiler.impl.javaCompiler.javac.JavacConfiguration;
|
||||
import com.intellij.compiler.server.BuildManager;
|
||||
import com.intellij.ide.PowerSaveMode;
|
||||
import com.intellij.openapi.compiler.CompilerBundle;
|
||||
@@ -159,7 +160,8 @@ public class CompilerUIConfigurable implements SearchableConfigurable, Configura
|
||||
myCbEnableAutomake.setSelected(workspaceConfiguration.MAKE_PROJECT_ON_SAVE);
|
||||
myCbParallelCompilation.setSelected(workspaceConfiguration.PARALLEL_COMPILATION);
|
||||
myCbRebuildOnDependencyChange.setSelected(workspaceConfiguration.REBUILD_ON_DEPENDENCY_CHANGE);
|
||||
myHeapSizeField.setText(String.valueOf(workspaceConfiguration.COMPILER_PROCESS_HEAP_SIZE));
|
||||
final int javacPreferred = JavacConfiguration.getOptions(myProject, JavacConfiguration.class).MAXIMUM_HEAP_SIZE; // for compatibility with older projects
|
||||
myHeapSizeField.setText(String.valueOf(workspaceConfiguration.getProcessHeapSize(javacPreferred)));
|
||||
final String options = workspaceConfiguration.COMPILER_PROCESS_ADDITIONAL_VM_OPTIONS;
|
||||
myVMOptionsField.setText(options == null ? "" : options.trim());
|
||||
|
||||
|
||||
@@ -100,7 +100,8 @@ import org.jetbrains.jps.cmdline.ClasspathBootstrap;
|
||||
import org.jetbrains.jps.incremental.Utils;
|
||||
import org.jetbrains.jps.model.serialization.JpsGlobalLoader;
|
||||
|
||||
import javax.tools.*;
|
||||
import javax.tools.JavaCompiler;
|
||||
import javax.tools.ToolProvider;
|
||||
import java.awt.*;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -838,13 +839,7 @@ public class BuildManager implements ApplicationComponent{
|
||||
cmdLine.setExePath(vmExecutablePath);
|
||||
//cmdLine.addParameter("-XX:MaxPermSize=150m");
|
||||
//cmdLine.addParameter("-XX:ReservedCodeCacheSize=64m");
|
||||
int heapSize = config.COMPILER_PROCESS_HEAP_SIZE;
|
||||
|
||||
// todo: remove when old make implementation is removed
|
||||
if (heapSize == CompilerWorkspaceConfiguration.DEFAULT_COMPILE_PROCESS_HEAP_SIZE) {
|
||||
// check if javac is set to use larger heap, and if so, use it.
|
||||
heapSize = Math.max(heapSize, JavacConfiguration.getOptions(project, JavacConfiguration.class).MAXIMUM_HEAP_SIZE);
|
||||
}
|
||||
final int heapSize = config.getProcessHeapSize(JavacConfiguration.getOptions(project, JavacConfiguration.class).MAXIMUM_HEAP_SIZE);
|
||||
|
||||
cmdLine.addParameter("-Xmx" + heapSize + "m");
|
||||
|
||||
|
||||
@@ -69,4 +69,13 @@ public class CompilerWorkspaceConfiguration implements PersistentStateComponent<
|
||||
public boolean allowAutoMakeWhileRunningApplication() {
|
||||
return false;/*ALLOW_AUTOMAKE_WHILE_RUNNING_APPLICATION*/
|
||||
}
|
||||
|
||||
public int getProcessHeapSize(final int javacPreferredHeapSize) {
|
||||
final int heapSize = COMPILER_PROCESS_HEAP_SIZE;
|
||||
if (heapSize != DEFAULT_COMPILE_PROCESS_HEAP_SIZE) {
|
||||
return heapSize;
|
||||
}
|
||||
// compatibility with older builds: if javac is set to use larger heap, and if so, use it.
|
||||
return Math.max(heapSize, javacPreferredHeapSize);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user