comparison src/share/vm/gc_implementation/g1/concurrentMark.hpp @ 6812:988bf00cc564

7200261: G1: Liveness counting inconsistencies during marking verification Summary: The clipping code in the routine that sets the bits for a range of cards, in the liveness accounting verification code was incorrect. It set all the bits in the card bitmap from the given starting index which would lead to spurious marking verification failures. Reviewed-by: brutisso, jwilhelm, jmasa
author johnc
date Thu, 27 Sep 2012 15:44:01 -0700
parents d2a62e0f25eb
children 8a5ea0a9ccc4
comparison
equal deleted inserted replaced
6788:7c2fd5948145 6812:988bf00cc564
804 } 804 }
805 bool verbose_high() { 805 bool verbose_high() {
806 return _MARKING_VERBOSE_ && _verbose_level >= high_verbose; 806 return _MARKING_VERBOSE_ && _verbose_level >= high_verbose;
807 } 807 }
808 808
809 // Counting data structure accessors 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);
810 817
811 // Returns the card number of the bottom of the G1 heap. 818 // Returns the card number of the bottom of the G1 heap.
812 // Used in biasing indices into accounting card bitmaps. 819 // Used in biasing indices into accounting card bitmaps.
813 intptr_t heap_bottom_card_num() const { 820 intptr_t heap_bottom_card_num() const {
814 return _heap_bottom_card_num; 821 return _heap_bottom_card_num;