src/share/vm/gc_implementation/g1/concurrentMark.hpp

Print this page
rev 4008 : 8001985: G1: Backport fix for 7200261 to hsx24
Summary: The automatic backport of the fix for 7200261 did not apply cleanly to hsx24 - there were two rejected hunks that had to be fixed up by hand.
Reviewed-by:


 789   void print_summary_info();
 790 
 791   void print_worker_threads_on(outputStream* st) const;
 792 
 793   // The following indicate whether a given verbose level has been
 794   // set. Notice that anything above stats is conditional to
 795   // _MARKING_VERBOSE_ having been set to 1
 796   bool verbose_stats() {
 797     return _verbose_level >= stats_verbose;
 798   }
 799   bool verbose_low() {
 800     return _MARKING_VERBOSE_ && _verbose_level >= low_verbose;
 801   }
 802   bool verbose_medium() {
 803     return _MARKING_VERBOSE_ && _verbose_level >= medium_verbose;
 804   }
 805   bool verbose_high() {
 806     return _MARKING_VERBOSE_ && _verbose_level >= high_verbose;
 807   }
 808 
 809   // Counting data structure accessors







 810 
 811   // Returns the card number of the bottom of the G1 heap.
 812   // Used in biasing indices into accounting card bitmaps.
 813   intptr_t heap_bottom_card_num() const {
 814     return _heap_bottom_card_num;
 815   }
 816 
 817   // Returns the card bitmap for a given task or worker id.
 818   BitMap* count_card_bitmap_for(uint worker_id) {
 819     assert(0 <= worker_id && worker_id < _max_task_num, "oob");
 820     assert(_count_card_bitmaps != NULL, "uninitialized");
 821     BitMap* task_card_bm = &_count_card_bitmaps[worker_id];
 822     assert(task_card_bm->size() == _card_bm.size(), "size mismatch");
 823     return task_card_bm;
 824   }
 825 
 826   // Returns the array containing the marked bytes for each region,
 827   // for the given worker or task id.
 828   size_t* count_marked_bytes_array_for(uint worker_id) {
 829     assert(0 <= worker_id && worker_id < _max_task_num, "oob");




 789   void print_summary_info();
 790 
 791   void print_worker_threads_on(outputStream* st) const;
 792 
 793   // The following indicate whether a given verbose level has been
 794   // set. Notice that anything above stats is conditional to
 795   // _MARKING_VERBOSE_ having been set to 1
 796   bool verbose_stats() {
 797     return _verbose_level >= stats_verbose;
 798   }
 799   bool verbose_low() {
 800     return _MARKING_VERBOSE_ && _verbose_level >= low_verbose;
 801   }
 802   bool verbose_medium() {
 803     return _MARKING_VERBOSE_ && _verbose_level >= medium_verbose;
 804   }
 805   bool verbose_high() {
 806     return _MARKING_VERBOSE_ && _verbose_level >= high_verbose;
 807   }
 808 
 809   // Liveness counting
 810 
 811   // Utility routine to set an exclusive range of cards on the given
 812   // card liveness bitmap
 813   inline void set_card_bitmap_range(BitMap* card_bm,
 814                                     BitMap::idx_t start_idx,
 815                                     BitMap::idx_t end_idx,
 816                                     bool is_par);
 817 
 818   // Returns the card number of the bottom of the G1 heap.
 819   // Used in biasing indices into accounting card bitmaps.
 820   intptr_t heap_bottom_card_num() const {
 821     return _heap_bottom_card_num;
 822   }
 823 
 824   // Returns the card bitmap for a given task or worker id.
 825   BitMap* count_card_bitmap_for(uint worker_id) {
 826     assert(0 <= worker_id && worker_id < _max_task_num, "oob");
 827     assert(_count_card_bitmaps != NULL, "uninitialized");
 828     BitMap* task_card_bm = &_count_card_bitmaps[worker_id];
 829     assert(task_card_bm->size() == _card_bm.size(), "size mismatch");
 830     return task_card_bm;
 831   }
 832 
 833   // Returns the array containing the marked bytes for each region,
 834   // for the given worker or task id.
 835   size_t* count_marked_bytes_array_for(uint worker_id) {
 836     assert(0 <= worker_id && worker_id < _max_task_num, "oob");