diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index a916acb28933..55326effd5de 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -504,7 +504,10 @@ public class JavaBuilder extends ModuleLevelBuilder { //final JpsJavaCompilerConfiguration config = JpsJavaExtensionService.getInstance().getOrCreateCompilerConfiguration(project); //final JpsJavaCompilerOptions options = config.getCurrentCompilerOptions(); //return options.MAXIMUM_HEAP_SIZE; - final int maxMbytes = (int)Runtime.getRuntime().maxMemory() / 1048576; + final int maxMbytes = (int)(Runtime.getRuntime().maxMemory() / 1048576L); + if (maxMbytes < 0) { + return -1; // in case of int overflow, return -1 to let VM choose the heap size + } return Math.max(maxMbytes * 75 / 100, 256); // minimum 256 Mb, maximum 75% from JPS max heap size }