< prev index next >

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

Print this page
rev 7793 : 8073315: Enable gcc -Wtype-limits and fix upcoming issues.


 836     return _MARKING_VERBOSE_ && _verbose_level >= high_verbose;
 837   }
 838 
 839   // Liveness counting
 840 
 841   // Utility routine to set an exclusive range of cards on the given
 842   // card liveness bitmap
 843   inline void set_card_bitmap_range(BitMap* card_bm,
 844                                     BitMap::idx_t start_idx,
 845                                     BitMap::idx_t end_idx,
 846                                     bool is_par);
 847 
 848   // Returns the card number of the bottom of the G1 heap.
 849   // Used in biasing indices into accounting card bitmaps.
 850   intptr_t heap_bottom_card_num() const {
 851     return _heap_bottom_card_num;
 852   }
 853 
 854   // Returns the card bitmap for a given task or worker id.
 855   BitMap* count_card_bitmap_for(uint worker_id) {
 856     assert(0 <= worker_id && worker_id < _max_worker_id, "oob");
 857     assert(_count_card_bitmaps != NULL, "uninitialized");
 858     BitMap* task_card_bm = &_count_card_bitmaps[worker_id];
 859     assert(task_card_bm->size() == _card_bm.size(), "size mismatch");
 860     return task_card_bm;
 861   }
 862 
 863   // Returns the array containing the marked bytes for each region,
 864   // for the given worker or task id.
 865   size_t* count_marked_bytes_array_for(uint worker_id) {
 866     assert(0 <= worker_id && worker_id < _max_worker_id, "oob");
 867     assert(_count_marked_bytes != NULL, "uninitialized");
 868     size_t* marked_bytes_array = _count_marked_bytes[worker_id];
 869     assert(marked_bytes_array != NULL, "uninitialized");
 870     return marked_bytes_array;
 871   }
 872 
 873   // Returns the index in the liveness accounting card table bitmap
 874   // for the given address
 875   inline BitMap::idx_t card_bitmap_index_for(HeapWord* addr);
 876 
 877   // Counts the size of the given memory region in the the given
 878   // marked_bytes array slot for the given HeapRegion.
 879   // Sets the bits in the given card bitmap that are associated with the
 880   // cards that are spanned by the memory region.
 881   inline void count_region(MemRegion mr,
 882                            HeapRegion* hr,
 883                            size_t* marked_bytes_array,
 884                            BitMap* task_card_bm);
 885 
 886   // Counts the given memory region in the task/worker counting




 836     return _MARKING_VERBOSE_ && _verbose_level >= high_verbose;
 837   }
 838 
 839   // Liveness counting
 840 
 841   // Utility routine to set an exclusive range of cards on the given
 842   // card liveness bitmap
 843   inline void set_card_bitmap_range(BitMap* card_bm,
 844                                     BitMap::idx_t start_idx,
 845                                     BitMap::idx_t end_idx,
 846                                     bool is_par);
 847 
 848   // Returns the card number of the bottom of the G1 heap.
 849   // Used in biasing indices into accounting card bitmaps.
 850   intptr_t heap_bottom_card_num() const {
 851     return _heap_bottom_card_num;
 852   }
 853 
 854   // Returns the card bitmap for a given task or worker id.
 855   BitMap* count_card_bitmap_for(uint worker_id) {
 856     assert(worker_id < _max_worker_id, "oob");
 857     assert(_count_card_bitmaps != NULL, "uninitialized");
 858     BitMap* task_card_bm = &_count_card_bitmaps[worker_id];
 859     assert(task_card_bm->size() == _card_bm.size(), "size mismatch");
 860     return task_card_bm;
 861   }
 862 
 863   // Returns the array containing the marked bytes for each region,
 864   // for the given worker or task id.
 865   size_t* count_marked_bytes_array_for(uint worker_id) {
 866     assert(worker_id < _max_worker_id, "oob");
 867     assert(_count_marked_bytes != NULL, "uninitialized");
 868     size_t* marked_bytes_array = _count_marked_bytes[worker_id];
 869     assert(marked_bytes_array != NULL, "uninitialized");
 870     return marked_bytes_array;
 871   }
 872 
 873   // Returns the index in the liveness accounting card table bitmap
 874   // for the given address
 875   inline BitMap::idx_t card_bitmap_index_for(HeapWord* addr);
 876 
 877   // Counts the size of the given memory region in the the given
 878   // marked_bytes array slot for the given HeapRegion.
 879   // Sets the bits in the given card bitmap that are associated with the
 880   // cards that are spanned by the memory region.
 881   inline void count_region(MemRegion mr,
 882                            HeapRegion* hr,
 883                            size_t* marked_bytes_array,
 884                            BitMap* task_card_bm);
 885 
 886   // Counts the given memory region in the task/worker counting


< prev index next >