comparison 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
comparison
equal deleted inserted replaced
889:15c5903cf9e1 890:6cb8e9df7174
155 } else { 155 } else {
156 new_refs_iterate_work<oop>(cl); 156 new_refs_iterate_work<oop>(cl);
157 } 157 }
158 } 158 }
159 159
160 // The routine that performs the actual work of refining a dirty
161 // card.
162 void concurrentRefineOneCard_impl(jbyte* card_ptr, int worker_i);
163
160 protected: 164 protected:
161 template <class T> void write_ref_nv(HeapRegion* from, T* p); 165 template <class T> void write_ref_nv(HeapRegion* from, T* p);
162 template <class T> void par_write_ref_nv(HeapRegion* from, T* p, int tid); 166 template <class T> void par_write_ref_nv(HeapRegion* from, T* p, int tid);
163 167
164 public: 168 public: