176 |
176 |
177 // Iterate over the portion of the card-table which covers the given |
177 // Iterate over the portion of the card-table which covers the given |
178 // region mr in the given space and apply cl to any dirty sub-regions |
178 // region mr in the given space and apply cl to any dirty sub-regions |
179 // of mr. Clears the dirty cards as they are processed. |
179 // of mr. Clears the dirty cards as they are processed. |
180 void non_clean_card_iterate_possibly_parallel(Space* sp, MemRegion mr, |
180 void non_clean_card_iterate_possibly_parallel(Space* sp, MemRegion mr, |
181 OopsInGenClosure* cl, CardTableRS* ct); |
181 OopsInGenClosure* cl, CardTableRS* ct, |
|
182 uint n_threads); |
182 |
183 |
183 private: |
184 private: |
184 // Work method used to implement non_clean_card_iterate_possibly_parallel() |
185 // Work method used to implement non_clean_card_iterate_possibly_parallel() |
185 // above in the parallel case. |
186 // above in the parallel case. |
186 void non_clean_card_iterate_parallel_work(Space* sp, MemRegion mr, |
187 void non_clean_card_iterate_parallel_work(Space* sp, MemRegion mr, |
187 OopsInGenClosure* cl, CardTableRS* ct, |
188 OopsInGenClosure* cl, CardTableRS* ct, |
188 int n_threads); |
189 uint n_threads); |
189 |
190 |
190 protected: |
191 protected: |
191 // Dirty the bytes corresponding to "mr" (not all of which must be |
192 // Dirty the bytes corresponding to "mr" (not all of which must be |
192 // covered.) |
193 // covered.) |
193 void dirty_MemRegion(MemRegion mr); |
194 void dirty_MemRegion(MemRegion mr); |