--- old/src/hotspot/share/gc/g1/g1Arguments.cpp 2018-06-14 14:58:24.246132787 +0200 +++ new/src/hotspot/share/gc/g1/g1Arguments.cpp 2018-06-14 14:58:23.673114815 +0200 @@ -54,9 +54,9 @@ } void G1Arguments::parse_verification_type(const char* type) { - if (strcmp(type, "young-only") == 0) { + if (strcmp(type, "young-normal") == 0) { G1HeapVerifier::enable_verification_type(G1HeapVerifier::G1VerifyYoungOnly); - } else if (strcmp(type, "initial-mark") == 0) { + } else if (strcmp(type, "concurrent-start") == 0) { G1HeapVerifier::enable_verification_type(G1HeapVerifier::G1VerifyInitialMark); } else if (strcmp(type, "mixed") == 0) { G1HeapVerifier::enable_verification_type(G1HeapVerifier::G1VerifyMixed); @@ -68,7 +68,7 @@ G1HeapVerifier::enable_verification_type(G1HeapVerifier::G1VerifyFull); } else { log_warning(gc, verify)("VerifyGCType: '%s' is unknown. Available types are: " - "young-only, initial-mark, mixed, remark, cleanup and full", type); + "young-normal, concurrent-start, mixed, remark, cleanup and full", type); } } --- old/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-06-14 14:58:26.249195610 +0200 +++ new/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-06-14 14:58:25.842182845 +0200 @@ -2811,15 +2811,19 @@ GCTraceCPUTime tcpu; G1HeapVerifier::G1VerifyType verify_type; - FormatBuffer<> gc_string("Pause "); + FormatBuffer<> gc_string("Pause Young "); if (collector_state()->in_initial_mark_gc()) { - gc_string.append("Initial Mark"); + gc_string.append("(Concurrent Start)"); verify_type = G1HeapVerifier::G1VerifyInitialMark; } else if (collector_state()->in_young_only_phase()) { - gc_string.append("Young"); + if (collector_state()->in_young_gc_before_mixed()) { + gc_string.append("(Concurrent End)"); + } else { + gc_string.append("(Normal)"); + } verify_type = G1HeapVerifier::G1VerifyYoungOnly; } else { - gc_string.append("Mixed"); + gc_string.append("(Mixed)"); verify_type = G1HeapVerifier::G1VerifyMixed; } GCTraceTime(Info, gc) tm(gc_string, NULL, gc_cause(), true); --- old/test/hotspot/jtreg/gc/class_unloading/TestG1ClassUnloadingHWM.java 2018-06-14 14:58:28.315260410 +0200 +++ new/test/hotspot/jtreg/gc/class_unloading/TestG1ClassUnloadingHWM.java 2018-06-14 14:58:27.750242689 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -74,14 +74,14 @@ OutputAnalyzer out = runWithoutG1ClassUnloading(); out.shouldMatch(".*Pause Full.*"); - out.shouldNotMatch(".*Pause Initial Mark.*"); + out.shouldNotMatch(".*Pause Young \\(Concurrent Start\\).*"); } public static void testWithG1ClassUnloading() throws Exception { // -XX:+ClassUnloadingWithConcurrentMark is used, so we expect a concurrent cycle instead of a full GC. OutputAnalyzer out = runWithG1ClassUnloading(); - out.shouldMatch(".*Pause Initial Mark.*"); + out.shouldMatch(".*Pause Young \\(Concurrent Start\\).*"); out.shouldNotMatch(".*Pause Full.*"); } --- old/test/hotspot/jtreg/gc/g1/TestHumongousAllocInitialMark.java 2018-06-14 14:58:30.567331044 +0200 +++ new/test/hotspot/jtreg/gc/g1/TestHumongousAllocInitialMark.java 2018-06-14 14:58:30.051314859 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -52,7 +52,7 @@ HumongousObjectAllocator.class.getName()); OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("Pause Initial Mark (G1 Humongous Allocation)"); + output.shouldContain("Pause Young (Concurrent Start) (G1 Humongous Allocation)"); output.shouldNotContain("Full GC"); output.shouldHaveExitValue(0); } --- old/test/hotspot/jtreg/gc/g1/TestHumongousAllocNearlyFullRegion.java 2018-06-14 14:58:32.594394620 +0200 +++ new/test/hotspot/jtreg/gc/g1/TestHumongousAllocNearlyFullRegion.java 2018-06-14 14:58:32.096379000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -51,7 +51,7 @@ HumongousObjectAllocator.class.getName()); OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("Pause Initial Mark (G1 Humongous Allocation)"); + output.shouldContain("Pause Young (Concurrent Start) (G1 Humongous Allocation)"); output.shouldHaveExitValue(0); } --- old/test/hotspot/jtreg/gc/g1/TestStringDeduplicationTools.java 2018-06-14 14:58:34.596457413 +0200 +++ new/test/hotspot/jtreg/gc/g1/TestStringDeduplicationTools.java 2018-06-14 14:58:34.047440193 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -335,7 +335,7 @@ YoungGC, "-Xlog:gc,gc+stringdedup=trace"); output.shouldNotContain("Full GC"); - output.shouldContain("Pause Young (G1 Evacuation Pause)"); + output.shouldContain("Pause Young (Normal) (G1 Evacuation Pause)"); output.shouldContain("Concurrent String Deduplication"); output.shouldContain("Deduplicated:"); output.shouldHaveExitValue(0); @@ -347,7 +347,7 @@ DefaultAgeThreshold, FullGC, "-Xlog:gc,gc+stringdedup=trace"); - output.shouldNotContain("Pause Young (G1 Evacuation Pause)"); + output.shouldNotContain("Pause Young (Normal) (G1 Evacuation Pause)"); output.shouldContain("Full GC"); output.shouldContain("Concurrent String Deduplication"); output.shouldContain("Deduplicated:"); --- old/test/hotspot/jtreg/gc/g1/TestVerifyGCType.java 2018-06-14 14:58:36.602520330 +0200 +++ new/test/hotspot/jtreg/gc/g1/TestVerifyGCType.java 2018-06-14 14:58:36.060503331 +0200 @@ -60,9 +60,10 @@ OutputAnalyzer output = testWithVerificationType(new String[0]); output.shouldHaveExitValue(0); - verifyCollection("Pause Young", true, false, true, output.getStdout()); - verifyCollection("Pause Initial Mark", true, false, true, output.getStdout()); - verifyCollection("Pause Mixed", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Normal)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Concurrent Start)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Mixed)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Concurrent End)", true, false, true, output.getStdout()); verifyCollection("Pause Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); @@ -72,12 +73,13 @@ OutputAnalyzer output; // Test with all explicitly enabled output = testWithVerificationType(new String[] { - "young-only", "initial-mark", "mixed", "remark", "cleanup", "full"}); + "young-normal", "concurrent-start", "mixed", "remark", "cleanup", "full"}); output.shouldHaveExitValue(0); - verifyCollection("Pause Young", true, false, true, output.getStdout()); - verifyCollection("Pause Initial Mark", true, false, true, output.getStdout()); - verifyCollection("Pause Mixed", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Normal)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Concurrent Start)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Mixed)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Concurrent End)", true, false, true, output.getStdout()); verifyCollection("Pause Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); @@ -89,9 +91,10 @@ output = testWithVerificationType(new String[] {"remark", "full"}); output.shouldHaveExitValue(0); - verifyCollection("Pause Young", false, false, false, output.getStdout()); - verifyCollection("Pause Initial Mark", false, false, false, output.getStdout()); - verifyCollection("Pause Mixed", false, false, false, output.getStdout()); + verifyCollection("Pause Young (Normal)", false, false, false, output.getStdout()); + verifyCollection("Pause Young (Concurrent Start)", false, false, false, output.getStdout()); + verifyCollection("Pause Young (Mixed)", false, false, false, output.getStdout()); + verifyCollection("Pause Young (Concurrent End)", false, false, false, output.getStdout()); verifyCollection("Pause Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, false, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); @@ -100,12 +103,13 @@ private static void testConcurrentMark() throws Exception { OutputAnalyzer output; // Test with full and remark - output = testWithVerificationType(new String[] {"initial-mark", "cleanup", "remark"}); + output = testWithVerificationType(new String[] {"concurrent-start", "cleanup", "remark"}); output.shouldHaveExitValue(0); - verifyCollection("Pause Young", false, false, false, output.getStdout()); - verifyCollection("Pause Initial Mark", true, false, true, output.getStdout()); - verifyCollection("Pause Mixed", false, false, false, output.getStdout()); + verifyCollection("Pause Young (Normal)", false, false, false, output.getStdout()); + verifyCollection("Pause Young (Concurrent Start)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Mixed)", false, false, false, output.getStdout()); + verifyCollection("Pause Young (Concurrent End)", false, false, false, output.getStdout()); verifyCollection("Pause Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", false, false, false, output.getStdout()); @@ -117,10 +121,11 @@ output = testWithVerificationType(new String[] {"old"}); output.shouldHaveExitValue(0); - output.shouldMatch("VerifyGCType: '.*' is unknown. Available types are: young-only, initial-mark, mixed, remark, cleanup and full"); - verifyCollection("Pause Young", true, false, true, output.getStdout()); - verifyCollection("Pause Initial Mark", true, false, true, output.getStdout()); - verifyCollection("Pause Mixed", true, false, true, output.getStdout()); + output.shouldMatch("VerifyGCType: '.*' is unknown. Available types are: young-normal, concurrent-start, mixed, remark, cleanup and full"); + verifyCollection("Pause Young (Normal)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Concurrent Start)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Mixed)", true, false, true, output.getStdout()); + verifyCollection("Pause Young (Concurrent End)", true, false, true, output.getStdout()); verifyCollection("Pause Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); @@ -229,21 +234,23 @@ // Allocate some memory that can be turned into garbage. Object[] used = alloc1M(); + wb.youngGC(); // young-normal + // Trigger the different GCs using the WhiteBox API. wb.fullGC(); // full // Memory have been promoted to old by full GC. Free // some memory to be reclaimed by concurrent cycle. partialFree(used); - wb.g1StartConcMarkCycle(); // initial-mark, remark and cleanup + wb.g1StartConcMarkCycle(); // concurrent-start, remark and cleanup // Sleep to make sure concurrent cycle is done while (wb.g1InConcurrentMark()) { Thread.sleep(1000); } - // Trigger two young GCs, first will be young-only, second will be mixed. - wb.youngGC(); // young-only + // Trigger two young GCs, first will be young-concurrent-end, second will be mixed. + wb.youngGC(); // young-concurrent-end wb.youngGC(); // mixed } --- old/test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/GCTokens.java 2018-06-14 14:58:38.607583217 +0200 +++ new/test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/GCTokens.java 2018-06-14 14:58:38.163569291 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,8 +31,8 @@ private GCTokens() { } - public static final String WB_INITIATED_YOUNG_GC = "Young (WhiteBox Initiated Young GC)"; - public static final String WB_INITIATED_MIXED_GC = "Pause Mixed (WhiteBox Initiated Young GC)"; + public static final String WB_INITIATED_YOUNG_GC = "Young (Normal) (WhiteBox Initiated Young GC)"; + public static final String WB_INITIATED_MIXED_GC = "Young (Mixed) (WhiteBox Initiated Young GC)"; public static final String WB_INITIATED_CMC = "WhiteBox Initiated Concurrent Mark"; public static final String FULL_GC = "Full (System.gc())"; public static final String FULL_GC_MEMORY_PRESSURE = "WhiteBox Initiated Full GC"; --- old/test/hotspot/jtreg/gc/g1/mixedgc/TestLogging.java 2018-06-14 14:58:40.691648581 +0200 +++ new/test/hotspot/jtreg/gc/g1/mixedgc/TestLogging.java 2018-06-14 14:58:40.280635690 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -80,7 +80,7 @@ OutputAnalyzer output = spawnMixedGCProvoker(vmFlag); System.out.println(output.getStdout()); output.shouldHaveExitValue(0); - output.shouldContain("Pause Mixed (G1 Evacuation Pause)"); + output.shouldContain("Pause Young (Mixed) (G1 Evacuation Pause)"); } /**