123 new LogMessageWithLevel("Redirtied Cards", Level.TRACE),
124 // Misc Top-level
125 new LogMessageWithLevel("Code Roots Purge", Level.DEBUG),
126 new LogMessageWithLevel("String Dedup Fixup", Level.DEBUG),
127 new LogMessageWithLevel("Expand Heap After Collection", Level.DEBUG),
128 // Free CSet
129 new LogMessageWithLevel("Free Collection Set", Level.DEBUG),
130 new LogMessageWithLevel("Free Collection Set Serial", Level.TRACE),
131 new LogMessageWithLevel("Young Free Collection Set", Level.TRACE),
132 new LogMessageWithLevel("Non-Young Free Collection Set", Level.TRACE),
133 // Humongous Eager Reclaim
134 new LogMessageWithLevel("Humongous Reclaim", Level.DEBUG),
135 new LogMessageWithLevel("Humongous Register", Level.DEBUG),
136 // Preserve CM Referents
137 new LogMessageWithLevel("Preserve CM Refs", Level.DEBUG),
138 // Merge PSS
139 new LogMessageWithLevel("Merge Per-Thread State", Level.DEBUG),
140 // TLAB handling
141 new LogMessageWithLevel("Prepare TLABs", Level.DEBUG),
142 new LogMessageWithLevel("Resize TLABs", Level.DEBUG),
143
144 new LogMessageWithLevelC2OrJVMCIOnly("DerivedPointerTable Update", Level.DEBUG),
145 new LogMessageWithLevel("Start New Collection Set", Level.DEBUG),
146 };
147
148 void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
149 for (LogMessageWithLevel l : messages) {
150 if (level.lessThan(l.level) || !l.isAvailable()) {
151 output.shouldNotContain(l.message);
152 } else {
153 output.shouldMatch("\\[" + l.level + ".*" + l.message);
154 }
155 }
156 }
157
158 public static void main(String[] args) throws Exception {
159 new TestGCLogMessages().testNormalLogs();
160 new TestGCLogMessages().testWithToSpaceExhaustionLogs();
161 new TestGCLogMessages().testWithInitialMark();
162 new TestGCLogMessages().testExpandHeap();
|
123 new LogMessageWithLevel("Redirtied Cards", Level.TRACE),
124 // Misc Top-level
125 new LogMessageWithLevel("Code Roots Purge", Level.DEBUG),
126 new LogMessageWithLevel("String Dedup Fixup", Level.DEBUG),
127 new LogMessageWithLevel("Expand Heap After Collection", Level.DEBUG),
128 // Free CSet
129 new LogMessageWithLevel("Free Collection Set", Level.DEBUG),
130 new LogMessageWithLevel("Free Collection Set Serial", Level.TRACE),
131 new LogMessageWithLevel("Young Free Collection Set", Level.TRACE),
132 new LogMessageWithLevel("Non-Young Free Collection Set", Level.TRACE),
133 // Humongous Eager Reclaim
134 new LogMessageWithLevel("Humongous Reclaim", Level.DEBUG),
135 new LogMessageWithLevel("Humongous Register", Level.DEBUG),
136 // Preserve CM Referents
137 new LogMessageWithLevel("Preserve CM Refs", Level.DEBUG),
138 // Merge PSS
139 new LogMessageWithLevel("Merge Per-Thread State", Level.DEBUG),
140 // TLAB handling
141 new LogMessageWithLevel("Prepare TLABs", Level.DEBUG),
142 new LogMessageWithLevel("Resize TLABs", Level.DEBUG),
143 // Reference Processing
144 new LogMessageWithLevel("Reference Processing", Level.DEBUG),
145 new LogMessageWithLevel("Reference Enqueuing", Level.DEBUG),
146
147 new LogMessageWithLevelC2OrJVMCIOnly("DerivedPointerTable Update", Level.DEBUG),
148 new LogMessageWithLevel("Start New Collection Set", Level.DEBUG),
149 };
150
151 void checkMessagesAtLevel(OutputAnalyzer output, LogMessageWithLevel messages[], Level level) throws Exception {
152 for (LogMessageWithLevel l : messages) {
153 if (level.lessThan(l.level) || !l.isAvailable()) {
154 output.shouldNotContain(l.message);
155 } else {
156 output.shouldMatch("\\[" + l.level + ".*" + l.message);
157 }
158 }
159 }
160
161 public static void main(String[] args) throws Exception {
162 new TestGCLogMessages().testNormalLogs();
163 new TestGCLogMessages().testWithToSpaceExhaustionLogs();
164 new TestGCLogMessages().testWithInitialMark();
165 new TestGCLogMessages().testExpandHeap();
|