comparison src/share/vm/gc_implementation/g1/g1RemSet.cpp @ 1611:215576b54709

6946048: G1: improvements to +PrintGCDetails output Summary: Small improvements to G1's PrintGCDetails output. It also includes minor formatting details. Reviewed-by: ysr, johnc
author tonyp
date Thu, 22 Apr 2010 15:20:16 -0400
parents c18cbe5936b8
children 5cbac8938c4c
comparison
equal deleted inserted replaced
1610:79107c3a6bd5 1611:215576b54709
301 double scan_rs_time_sec = os::elapsedTime() - rs_time_start; 301 double scan_rs_time_sec = os::elapsedTime() - rs_time_start;
302 302
303 assert( _cards_scanned != NULL, "invariant" ); 303 assert( _cards_scanned != NULL, "invariant" );
304 _cards_scanned[worker_i] = scanRScl.cards_done(); 304 _cards_scanned[worker_i] = scanRScl.cards_done();
305 305
306 _g1p->record_scan_rs_start_time(worker_i, rs_time_start * 1000.0);
307 _g1p->record_scan_rs_time(worker_i, scan_rs_time_sec * 1000.0); 306 _g1p->record_scan_rs_time(worker_i, scan_rs_time_sec * 1000.0);
308 } 307 }
309 308
310 void HRInto_G1RemSet::updateRS(int worker_i) { 309 void HRInto_G1RemSet::updateRS(int worker_i) {
311 ConcurrentG1Refine* cg1r = _g1->concurrent_g1_refine(); 310 ConcurrentG1Refine* cg1r = _g1->concurrent_g1_refine();
312 311
313 double start = os::elapsedTime(); 312 double start = os::elapsedTime();
314 _g1p->record_update_rs_start_time(worker_i, start * 1000.0);
315
316 // Apply the appropriate closure to all remaining log entries. 313 // Apply the appropriate closure to all remaining log entries.
317 _g1->iterate_dirty_card_closure(false, worker_i); 314 _g1->iterate_dirty_card_closure(false, worker_i);
318 // Now there should be no dirty cards. 315 // Now there should be no dirty cards.
319 if (G1RSLogCheckCardTable) { 316 if (G1RSLogCheckCardTable) {
320 CountNonCleanMemRegionClosure cl(_g1); 317 CountNonCleanMemRegionClosure cl(_g1);
469 // updating and scanning. See CRs 6677707 and 6677708. 466 // updating and scanning. See CRs 6677707 and 6677708.
470 if (G1UseParallelRSetUpdating || (worker_i == 0)) { 467 if (G1UseParallelRSetUpdating || (worker_i == 0)) {
471 updateRS(worker_i); 468 updateRS(worker_i);
472 scanNewRefsRS(oc, worker_i); 469 scanNewRefsRS(oc, worker_i);
473 } else { 470 } else {
474 _g1p->record_update_rs_start_time(worker_i, os::elapsedTime() * 1000.0);
475 _g1p->record_update_rs_processed_buffers(worker_i, 0.0); 471 _g1p->record_update_rs_processed_buffers(worker_i, 0.0);
476 _g1p->record_update_rs_time(worker_i, 0.0); 472 _g1p->record_update_rs_time(worker_i, 0.0);
477 _g1p->record_scan_new_refs_time(worker_i, 0.0); 473 _g1p->record_scan_new_refs_time(worker_i, 0.0);
478 } 474 }
479 if (G1UseParallelRSetScanning || (worker_i == 0)) { 475 if (G1UseParallelRSetScanning || (worker_i == 0)) {
480 scanRS(oc, worker_i); 476 scanRS(oc, worker_i);
481 } else { 477 } else {
482 _g1p->record_scan_rs_start_time(worker_i, os::elapsedTime() * 1000.0);
483 _g1p->record_scan_rs_time(worker_i, 0.0); 478 _g1p->record_scan_rs_time(worker_i, 0.0);
484 } 479 }
485 } else { 480 } else {
486 assert(worker_i == 0, "invariant"); 481 assert(worker_i == 0, "invariant");
487 updateRS(0); 482 updateRS(0);