comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 890:6cb8e9df7174

6819077: G1: first GC thread coming late into the GC. Summary: The first worker thread is delayed when entering the GC because it clears the card count table that is used in identifying hot cards. Replace the card count table with a dynamically sized evicting hash table that includes an epoch based counter. Reviewed-by: iveresov, tonyp
author johnc
date Tue, 04 Aug 2009 16:00:17 -0700
parents 15c5903cf9e1
children e1fdf4fd34dc 148e5441d916
comparison
equal deleted inserted replaced
889:15c5903cf9e1 890:6cb8e9df7174
2412 _cg1r->threads_do(tc); 2412 _cg1r->threads_do(tc);
2413 tc->do_thread(_czft); 2413 tc->do_thread(_czft);
2414 } 2414 }
2415 2415
2416 void G1CollectedHeap::print_tracing_info() const { 2416 void G1CollectedHeap::print_tracing_info() const {
2417 concurrent_g1_refine()->print_final_card_counts();
2418
2419 // We'll overload this to mean "trace GC pause statistics." 2417 // We'll overload this to mean "trace GC pause statistics."
2420 if (TraceGen0Time || TraceGen1Time) { 2418 if (TraceGen0Time || TraceGen1Time) {
2421 // The "G1CollectorPolicy" is keeping track of these stats, so delegate 2419 // The "G1CollectorPolicy" is keeping track of these stats, so delegate
2422 // to that. 2420 // to that.
2423 g1_policy()->print_tracing_info(); 2421 g1_policy()->print_tracing_info();