67 // adjusting the min_done of dcto_cl, and by using a special card-table
68 // value to indicate how min_done should be set.
69 void process_chunk_boundaries(Space* sp,
70 DirtyCardToOopClosure* dcto_cl,
71 MemRegion chunk_mr,
72 MemRegion used,
73 jbyte** lowest_non_clean,
74 uintptr_t lowest_non_clean_base_chunk_index,
75 size_t lowest_non_clean_chunk_size);
76
77 virtual void verify_used_region_at_save_marks(Space* sp) const NOT_DEBUG_RETURN;
78
79 protected:
80 // Work method used to implement non_clean_card_iterate_possibly_parallel()
81 // above in the parallel case.
82 virtual void non_clean_card_iterate_parallel_work(Space* sp, MemRegion mr,
83 OopsInGenClosure* cl, CardTableRS* ct,
84 uint n_threads);
85
86 public:
87 CMSCardTable(MemRegion whole_heap, bool scanned_concurrently);
88 };
89
90 #endif // SHARE_GC_CMS_CMSCARDTABLE_HPP
|
67 // adjusting the min_done of dcto_cl, and by using a special card-table
68 // value to indicate how min_done should be set.
69 void process_chunk_boundaries(Space* sp,
70 DirtyCardToOopClosure* dcto_cl,
71 MemRegion chunk_mr,
72 MemRegion used,
73 jbyte** lowest_non_clean,
74 uintptr_t lowest_non_clean_base_chunk_index,
75 size_t lowest_non_clean_chunk_size);
76
77 virtual void verify_used_region_at_save_marks(Space* sp) const NOT_DEBUG_RETURN;
78
79 protected:
80 // Work method used to implement non_clean_card_iterate_possibly_parallel()
81 // above in the parallel case.
82 virtual void non_clean_card_iterate_parallel_work(Space* sp, MemRegion mr,
83 OopsInGenClosure* cl, CardTableRS* ct,
84 uint n_threads);
85
86 public:
87 CMSCardTable(MemRegion whole_heap);
88 };
89
90 #endif // SHARE_GC_CMS_CMSCARDTABLE_HPP
|