Mercurial > hg > truffle
diff src/share/vm/gc_implementation/g1/g1RemSet.hpp @ 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 | df6caf649ff7 |
children | c18cbe5936b8 |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/g1RemSet.hpp Mon Aug 03 12:59:30 2009 -0700 +++ b/src/share/vm/gc_implementation/g1/g1RemSet.hpp Tue Aug 04 16:00:17 2009 -0700 @@ -157,6 +157,10 @@ } } + // The routine that performs the actual work of refining a dirty + // card. + void concurrentRefineOneCard_impl(jbyte* card_ptr, int worker_i); + protected: template <class T> void write_ref_nv(HeapRegion* from, T* p); template <class T> void par_write_ref_nv(HeapRegion* from, T* p, int tid);