comparison src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp @ 14518:d8041d695d19

Merged with jdk9/dev/hotspot changeset 3812c088b945
author twisti
date Tue, 11 Mar 2014 18:45:59 -0700
parents 63a4eb8bcd23
children 4ca6dc0799b6
comparison
equal deleted inserted replaced
14141:f97c5ec83832 14518:d8041d695d19
103 // Note: if we're looking at the last region in heap - end 103 // Note: if we're looking at the last region in heap - end
104 // could be actually just beyond the end of the heap; end_idx 104 // could be actually just beyond the end of the heap; end_idx
105 // will then correspond to a (non-existent) card that is also 105 // will then correspond to a (non-existent) card that is also
106 // just beyond the heap. 106 // just beyond the heap.
107 if (g1h->is_in_g1_reserved(end) && !ct_bs->is_card_aligned(end)) { 107 if (g1h->is_in_g1_reserved(end) && !ct_bs->is_card_aligned(end)) {
108 // end of region is not card aligned - incremement to cover 108 // end of region is not card aligned - increment to cover
109 // all the cards spanned by the region. 109 // all the cards spanned by the region.
110 end_idx += 1; 110 end_idx += 1;
111 } 111 }
112 // The card bitmap is task/worker specific => no need to use 112 // The card bitmap is task/worker specific => no need to use
113 // the 'par' BitMap routines. 113 // the 'par' BitMap routines.
220 return true; 220 return true;
221 } 221 }
222 return false; 222 return false;
223 } 223 }
224 224
225 // Unconditionally mark the given object, and unconditinally count 225 // Unconditionally mark the given object, and unconditionally count
226 // the object in the counting structures for worker id 0. 226 // the object in the counting structures for worker id 0.
227 // Should *not* be called from parallel code. 227 // Should *not* be called from parallel code.
228 inline bool ConcurrentMark::mark_and_count(oop obj, HeapRegion* hr) { 228 inline bool ConcurrentMark::mark_and_count(oop obj, HeapRegion* hr) {
229 HeapWord* addr = (HeapWord*)obj; 229 HeapWord* addr = (HeapWord*)obj;
230 _nextMarkBitMap->mark(addr); 230 _nextMarkBitMap->mark(addr);