comparison test/gc/g1/TestGCLogMessages.java @ 20305:755930f931e3

8027959: Early reclamation of large objects in G1 Summary: Try to reclaim humongous objects at every young collection after doing a conservative estimate of its liveness. Reviewed-by: brutisso, mgerdin
author tschatzl
date Wed, 23 Jul 2014 09:03:32 +0200
parents 6e1f418b39c3
children
comparison
equal deleted inserted replaced
20304:a22acf6d7598 20305:755930f931e3
21 * questions. 21 * questions.
22 */ 22 */
23 23
24 /* 24 /*
25 * @test TestGCLogMessages 25 * @test TestGCLogMessages
26 * @bug 8035406 8027295 8035398 8019342 26 * @bug 8035406 8027295 8035398 8019342 8027959
27 * @summary Ensure that the PrintGCDetails output for a minor GC with G1 27 * @summary Ensure that the PrintGCDetails output for a minor GC with G1
28 * includes the expected necessary messages. 28 * includes the expected necessary messages.
29 * @key gc 29 * @key gc
30 * @library /testlibrary 30 * @library /testlibrary
31 */ 31 */
52 output.shouldNotContain("[Redirtied Cards"); 52 output.shouldNotContain("[Redirtied Cards");
53 output.shouldNotContain("[Code Root Purge"); 53 output.shouldNotContain("[Code Root Purge");
54 output.shouldNotContain("[String Dedup Fixup"); 54 output.shouldNotContain("[String Dedup Fixup");
55 output.shouldNotContain("[Young Free CSet"); 55 output.shouldNotContain("[Young Free CSet");
56 output.shouldNotContain("[Non-Young Free CSet"); 56 output.shouldNotContain("[Non-Young Free CSet");
57 output.shouldNotContain("[Humongous Reclaim");
57 output.shouldHaveExitValue(0); 58 output.shouldHaveExitValue(0);
58 59
59 pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", 60 pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
60 "-XX:+UseStringDeduplication", 61 "-XX:+UseStringDeduplication",
61 "-Xmx10M", 62 "-Xmx10M",
69 output.shouldNotContain("[Redirtied Cards"); 70 output.shouldNotContain("[Redirtied Cards");
70 output.shouldContain("[Code Root Purge"); 71 output.shouldContain("[Code Root Purge");
71 output.shouldContain("[String Dedup Fixup"); 72 output.shouldContain("[String Dedup Fixup");
72 output.shouldNotContain("[Young Free CSet"); 73 output.shouldNotContain("[Young Free CSet");
73 output.shouldNotContain("[Non-Young Free CSet"); 74 output.shouldNotContain("[Non-Young Free CSet");
75 output.shouldContain("[Humongous Reclaim");
76 output.shouldNotContain("[Humongous Total");
77 output.shouldNotContain("[Humongous Candidate");
78 output.shouldNotContain("[Humongous Reclaimed");
74 output.shouldHaveExitValue(0); 79 output.shouldHaveExitValue(0);
75 80
76 pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", 81 pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
77 "-XX:+UseStringDeduplication", 82 "-XX:+UseStringDeduplication",
78 "-Xmx10M", 83 "-Xmx10M",
88 output.shouldContain("[Redirtied Cards"); 93 output.shouldContain("[Redirtied Cards");
89 output.shouldContain("[Code Root Purge"); 94 output.shouldContain("[Code Root Purge");
90 output.shouldContain("[String Dedup Fixup"); 95 output.shouldContain("[String Dedup Fixup");
91 output.shouldContain("[Young Free CSet"); 96 output.shouldContain("[Young Free CSet");
92 output.shouldContain("[Non-Young Free CSet"); 97 output.shouldContain("[Non-Young Free CSet");
98 output.shouldContain("[Humongous Reclaim");
99 output.shouldContain("[Humongous Total");
100 output.shouldContain("[Humongous Candidate");
101 output.shouldContain("[Humongous Reclaimed");
93 output.shouldHaveExitValue(0); 102 output.shouldHaveExitValue(0);
94 } 103 }
95 104
96 private static void testWithToSpaceExhaustionLogs() throws Exception { 105 private static void testWithToSpaceExhaustionLogs() throws Exception {
97 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC", 106 ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",