# HG changeset patch # User sjohanss # Date 1435134480 -7200 # Node ID dbef845a80ba52d2794ac183fabe6f23e6229666 # Parent e0688be912e5ead9154f89daa50539d79545e27f# Parent 7f35f0462aea840ca1fac062791aac0819dd41cb Merge diff -r e0688be912e5 -r dbef845a80ba hotspot/src/share/vm/runtime/arguments.cpp --- a/hotspot/src/share/vm/runtime/arguments.cpp Wed Jun 24 08:30:52 2015 +0200 +++ b/hotspot/src/share/vm/runtime/arguments.cpp Wed Jun 24 10:28:00 2015 +0200 @@ -1535,7 +1535,11 @@ if (should_auto_select_low_pause_collector()) { FLAG_SET_ERGO(bool, UseConcMarkSweepGC, true); } else { +#if defined(JAVASE_EMBEDDED) FLAG_SET_ERGO(bool, UseParallelGC, true); +#else + FLAG_SET_ERGO(bool, UseG1GC, true); +#endif } } else { FLAG_SET_ERGO(bool, UseSerialGC, true); diff -r e0688be912e5 -r dbef845a80ba hotspot/test/gc/arguments/TestSelectDefaultGC.java --- a/hotspot/test/gc/arguments/TestSelectDefaultGC.java Wed Jun 24 08:30:52 2015 +0200 +++ b/hotspot/test/gc/arguments/TestSelectDefaultGC.java Wed Jun 24 10:28:00 2015 +0200 @@ -36,11 +36,6 @@ import java.util.regex.*; public class TestSelectDefaultGC { - public static boolean versionStringContains(OutputAnalyzer output, String pattern) { - Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(output.getStderr()); - return matcher.find(); - } - public static void assertVMOption(OutputAnalyzer output, String option, boolean value) { output.shouldMatch(" " + option + " .*=.* " + value + " "); } @@ -51,14 +46,18 @@ OutputAnalyzer output = new OutputAnalyzer(pb.start()); output.shouldHaveExitValue(0); - boolean isServerVM = versionStringContains(output, "Server VM"); + boolean isServerVM = Platform.isServer(); + boolean isEmbeddedVM = Platform.isEmbedded(); // Verify GC selection - assertVMOption(output, "UseParallelGC", isServerVM); - assertVMOption(output, "UseParallelOldGC", isServerVM); + // G1 is default for non-embedded server VMs + assertVMOption(output, "UseG1GC", isServerVM && !isEmbeddedVM); + // Parallel is default for embedded server VMs + assertVMOption(output, "UseParallelGC", isServerVM && isEmbeddedVM); + assertVMOption(output, "UseParallelOldGC", isServerVM && isEmbeddedVM); + // Serial is default for non-server VMs assertVMOption(output, "UseSerialGC", !isServerVM); assertVMOption(output, "UseConcMarkSweepGC", false); - assertVMOption(output, "UseG1GC", false); assertVMOption(output, "UseParNewGC", false); } }