Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java13
-rw-r--r--org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java3
2 files changed, 13 insertions, 3 deletions
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
index b4e447b88..dcd764138 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
@@ -70,6 +70,15 @@ public class StandardVMType extends AbstractVMInstallType {
public static final String ID_STANDARD_VM_TYPE = "org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType"; //$NON-NLS-1$
/**
+ * The minimal -Xmx size for launching a JVM. <br>
+ * <b>Note:</b> Must be omitted for Standard11xVM! <br>
+ * <b>Note:</b> Must be at least -Xmx16m for JRockit, see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=433455">bug 433455</a>.
+ *
+ * @since 3.7.100
+ */
+ public static final String MIN_VM_SIZE = "-Xmx16m"; //$NON-NLS-1$
+
+ /**
* Name filter for files ending in .jar or .zip
*
* @since 3.7.0
@@ -596,8 +605,8 @@ public class StandardVMType extends AbstractVMInstallType {
File file = LaunchingPlugin.getFileInPlugin(new Path("lib/launchingsupport.jar")); //$NON-NLS-1$
if (file != null && file.exists()) {
String javaExecutablePath = javaExecutable.getAbsolutePath();
- String[] cmdLine = new String[] { javaExecutablePath,
- "-Xmx4m", "-classpath", file.getAbsolutePath(), "org.eclipse.jdt.internal.launching.support.LibraryDetector" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ String[] cmdLine = new String[] { javaExecutablePath, MIN_VM_SIZE,
+ "-classpath", file.getAbsolutePath(), "org.eclipse.jdt.internal.launching.support.LibraryDetector" }; //$NON-NLS-1$ //$NON-NLS-2$
Process p = null;
try {
String envp[] = null;
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java
index e4d4720aa..4a4a746fd 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractVMInstall.java
@@ -38,6 +38,7 @@ import org.eclipse.debug.core.model.IStreamsProxy;
import org.eclipse.jdt.internal.launching.LaunchingMessages;
import org.eclipse.jdt.internal.launching.LaunchingPlugin;
import org.eclipse.jdt.internal.launching.Standard11xVM;
+import org.eclipse.jdt.internal.launching.StandardVMType;
import org.eclipse.osgi.util.NLS;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -366,7 +367,7 @@ public abstract class AbstractVMInstall implements IVMInstall, IVMInstall2, IVMI
abort(NLS.bind(LaunchingMessages.AbstractVMInstall_0, ""), null, IJavaLaunchConfigurationConstants.ERR_INTERNAL_ERROR); //$NON-NLS-1$
}
if (!(this instanceof Standard11xVM)) {
- config.setVMArguments(new String[] { "-Xmx4m" }); //$NON-NLS-1$
+ config.setVMArguments(new String[] { StandardVMType.MIN_VM_SIZE });
}
config.setProgramArguments(properties);
Launch launch = new Launch(null, ILaunchManager.RUN_MODE, null);

Back to the top