--- old/src/share/vm/gc/shared/collectorPolicy.cpp 2016-03-11 15:16:45.334285116 +0100 +++ new/src/share/vm/gc/shared/collectorPolicy.cpp 2016-03-11 15:16:45.167278120 +0100 @@ -96,6 +96,9 @@ } // Check heap parameter properties + if (MaxHeapSize < 2 * M) { + vm_exit_during_initialization("Too small maximum heap"); + } if (InitialHeapSize < M) { vm_exit_during_initialization("Too small initial heap"); } --- old/test/gc/arguments/TestMaxHeapSizeTools.java 2016-03-11 15:16:45.526293159 +0100 +++ new/test/gc/arguments/TestMaxHeapSizeTools.java 2016-03-11 15:16:45.413288425 +0100 @@ -112,10 +112,12 @@ } private static void checkInvalidMinInitialHeapCombinations(String gcflag) throws Exception { + expectError(new String[] { gcflag, "-XX:InitialHeapSize=1023K", "-version" }); expectError(new String[] { gcflag, "-Xms64M", "-XX:InitialHeapSize=32M", "-version" }); } private static void checkValidMinInitialHeapCombinations(String gcflag) throws Exception { + expectValid(new String[] { gcflag, "-XX:InitialHeapSize=1024K", "-version" }); expectValid(new String[] { gcflag, "-XX:InitialHeapSize=8M", "-Xms4M", "-version" }); expectValid(new String[] { gcflag, "-Xms4M", "-XX:InitialHeapSize=8M", "-version" }); expectValid(new String[] { gcflag, "-XX:InitialHeapSize=8M", "-Xms8M", "-version" }); @@ -124,11 +126,13 @@ } private static void checkInvalidInitialMaxHeapCombinations(String gcflag) throws Exception { + expectError(new String[] { gcflag, "-XX:MaxHeapSize=2047K", "-version" }); expectError(new String[] { gcflag, "-XX:MaxHeapSize=4M", "-XX:InitialHeapSize=8M", "-version" }); expectError(new String[] { gcflag, "-XX:InitialHeapSize=8M", "-XX:MaxHeapSize=4M", "-version" }); } private static void checkValidInitialMaxHeapCombinations(String gcflag) throws Exception { + expectValid(new String[] { gcflag, "-XX:MaxHeapSize=2048K", "-version" }); expectValid(new String[] { gcflag, "-XX:InitialHeapSize=4M", "-XX:MaxHeapSize=8M", "-version" }); expectValid(new String[] { gcflag, "-XX:MaxHeapSize=8M", "-XX:InitialHeapSize=4M", "-version" }); expectValid(new String[] { gcflag, "-XX:MaxHeapSize=4M", "-XX:InitialHeapSize=4M", "-version" });