< prev index next >

test/hotspot/jtreg/gc/g1/TestVerifyGCType.java

Print this page
rev 50627 : imported patch 8204084-last-young-gc-marker
rev 50628 : imported patch 8204084-stefanj-review
rev 50629 : imported patch 8204084-stefanj-review2
rev 50630 : imported patch 8204084-stefanj-review3

*** 58,85 **** private static void testAllVerificationEnabled() throws Exception { // Test with all verification enabled 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 Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); } private static void testAllExplicitlyEnabled() throws Exception { OutputAnalyzer output; // Test with all explicitly enabled output = testWithVerificationType(new String[] { ! "young-only", "initial-mark", "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 Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); } --- 58,87 ---- private static void testAllVerificationEnabled() throws Exception { // Test with all verification enabled OutputAnalyzer output = testWithVerificationType(new String[0]); output.shouldHaveExitValue(0); ! 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 (Prepare Mixed)", 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()); } private static void testAllExplicitlyEnabled() throws Exception { OutputAnalyzer output; // Test with all explicitly enabled output = testWithVerificationType(new String[] { ! "young-normal", "concurrent-start", "mixed", "remark", "cleanup", "full"}); output.shouldHaveExitValue(0); ! 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 (Prepare Mixed)", 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()); }
*** 87,113 **** OutputAnalyzer output; // Test with full and remark 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 Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, false, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); } private static void testConcurrentMark() throws Exception { OutputAnalyzer output; // Test with full and remark ! output = testWithVerificationType(new String[] {"initial-mark", "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 Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", false, false, false, output.getStdout()); } --- 89,117 ---- OutputAnalyzer output; // Test with full and remark output = testWithVerificationType(new String[] {"remark", "full"}); output.shouldHaveExitValue(0); ! 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 (Prepare Mixed)", 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()); } private static void testConcurrentMark() throws Exception { OutputAnalyzer output; // Test with full and remark ! output = testWithVerificationType(new String[] {"concurrent-start", "cleanup", "remark"}); output.shouldHaveExitValue(0); ! 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 (Prepare Mixed)", 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()); }
*** 115,128 **** OutputAnalyzer output; // Test bad type 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()); verifyCollection("Pause Remark", false, true, false, output.getStdout()); verifyCollection("Pause Cleanup", false, true, false, output.getStdout()); verifyCollection("Pause Full", true, true, true, output.getStdout()); } --- 119,133 ---- OutputAnalyzer output; // Test bad type output = testWithVerificationType(new String[] {"old"}); output.shouldHaveExitValue(0); ! 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 (Prepare Mixed)", 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()); }
*** 227,251 **** public static void main(String args[]) throws Exception { WhiteBox wb = WhiteBox.getWhiteBox(); // Allocate some memory that can be turned into garbage. Object[] used = alloc1M(); // 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 // 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 wb.youngGC(); // mixed } private static Object[] alloc1M() { Object[] ret = new Object[1024]; --- 232,258 ---- public static void main(String args[]) throws Exception { WhiteBox wb = WhiteBox.getWhiteBox(); // 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(); // 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-prepare-mixed, second will be mixed. ! wb.youngGC(); // young-prepare-mixed wb.youngGC(); // mixed } private static Object[] alloc1M() { Object[] ret = new Object[1024];
< prev index next >