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", |