Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1MarkSweep.cpp @ 6007:5c86f8211d1e
7160728: Introduce an extra logging level for G1 logging
Summary: Added log levels "fine", "finer" and "finest". Let PrintGC map to "fine" and PrintGCDetails map to "finer". Separated out the per worker information in the G1 logging to the "finest" level.
Reviewed-by: stefank, jwilhelm, tonyp, johnc
author | brutisso |
---|---|
date | Fri, 13 Apr 2012 01:59:38 +0200 |
parents | aa3d708d67c4 |
children | b632e80fc9dc |
comparison
equal
deleted
inserted
replaced
5994:4a32c51458b9 | 6007:5c86f8211d1e |
---|---|
27 #include "classfile/symbolTable.hpp" | 27 #include "classfile/symbolTable.hpp" |
28 #include "classfile/systemDictionary.hpp" | 28 #include "classfile/systemDictionary.hpp" |
29 #include "classfile/vmSymbols.hpp" | 29 #include "classfile/vmSymbols.hpp" |
30 #include "code/codeCache.hpp" | 30 #include "code/codeCache.hpp" |
31 #include "code/icBuffer.hpp" | 31 #include "code/icBuffer.hpp" |
32 #include "gc_implementation/g1/g1Log.hpp" | |
32 #include "gc_implementation/g1/g1MarkSweep.hpp" | 33 #include "gc_implementation/g1/g1MarkSweep.hpp" |
33 #include "memory/gcLocker.hpp" | 34 #include "memory/gcLocker.hpp" |
34 #include "memory/genCollectedHeap.hpp" | 35 #include "memory/genCollectedHeap.hpp" |
35 #include "memory/modRefBarrierSet.hpp" | 36 #include "memory/modRefBarrierSet.hpp" |
36 #include "memory/referencePolicy.hpp" | 37 #include "memory/referencePolicy.hpp" |
124 } | 125 } |
125 | 126 |
126 void G1MarkSweep::mark_sweep_phase1(bool& marked_for_unloading, | 127 void G1MarkSweep::mark_sweep_phase1(bool& marked_for_unloading, |
127 bool clear_all_softrefs) { | 128 bool clear_all_softrefs) { |
128 // Recursively traverse all live objects and mark them | 129 // Recursively traverse all live objects and mark them |
129 TraceTime tm("phase 1", PrintGC && Verbose, true, gclog_or_tty); | 130 TraceTime tm("phase 1", G1Log::fine() && Verbose, true, gclog_or_tty); |
130 GenMarkSweep::trace(" 1"); | 131 GenMarkSweep::trace(" 1"); |
131 | 132 |
132 SharedHeap* sh = SharedHeap::heap(); | 133 SharedHeap* sh = SharedHeap::heap(); |
133 | 134 |
134 sh->process_strong_roots(true, // activeate StrongRootsScope | 135 sh->process_strong_roots(true, // activeate StrongRootsScope |
289 // tracking expects us to do so. See comment under phase4. | 290 // tracking expects us to do so. See comment under phase4. |
290 | 291 |
291 G1CollectedHeap* g1h = G1CollectedHeap::heap(); | 292 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
292 Generation* pg = g1h->perm_gen(); | 293 Generation* pg = g1h->perm_gen(); |
293 | 294 |
294 TraceTime tm("phase 2", PrintGC && Verbose, true, gclog_or_tty); | 295 TraceTime tm("phase 2", G1Log::fine() && Verbose, true, gclog_or_tty); |
295 GenMarkSweep::trace("2"); | 296 GenMarkSweep::trace("2"); |
296 | 297 |
297 FindFirstRegionClosure cl; | 298 FindFirstRegionClosure cl; |
298 g1h->heap_region_iterate(&cl); | 299 g1h->heap_region_iterate(&cl); |
299 HeapRegion *r = cl.result(); | 300 HeapRegion *r = cl.result(); |
333 void G1MarkSweep::mark_sweep_phase3() { | 334 void G1MarkSweep::mark_sweep_phase3() { |
334 G1CollectedHeap* g1h = G1CollectedHeap::heap(); | 335 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
335 Generation* pg = g1h->perm_gen(); | 336 Generation* pg = g1h->perm_gen(); |
336 | 337 |
337 // Adjust the pointers to reflect the new locations | 338 // Adjust the pointers to reflect the new locations |
338 TraceTime tm("phase 3", PrintGC && Verbose, true, gclog_or_tty); | 339 TraceTime tm("phase 3", G1Log::fine() && Verbose, true, gclog_or_tty); |
339 GenMarkSweep::trace("3"); | 340 GenMarkSweep::trace("3"); |
340 | 341 |
341 SharedHeap* sh = SharedHeap::heap(); | 342 SharedHeap* sh = SharedHeap::heap(); |
342 | 343 |
343 sh->process_strong_roots(true, // activate StrongRootsScope | 344 sh->process_strong_roots(true, // activate StrongRootsScope |
397 // here (perm_gen first rather than last), so we tell the validate code | 398 // here (perm_gen first rather than last), so we tell the validate code |
398 // to use a higher index (saved from phase2) when verifying perm_gen. | 399 // to use a higher index (saved from phase2) when verifying perm_gen. |
399 G1CollectedHeap* g1h = G1CollectedHeap::heap(); | 400 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
400 Generation* pg = g1h->perm_gen(); | 401 Generation* pg = g1h->perm_gen(); |
401 | 402 |
402 TraceTime tm("phase 4", PrintGC && Verbose, true, gclog_or_tty); | 403 TraceTime tm("phase 4", G1Log::fine() && Verbose, true, gclog_or_tty); |
403 GenMarkSweep::trace("4"); | 404 GenMarkSweep::trace("4"); |
404 | 405 |
405 pg->compact(); | 406 pg->compact(); |
406 | 407 |
407 G1SpaceCompactClosure blk; | 408 G1SpaceCompactClosure blk; |