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

changeset 7094
9337d0e7ea4f
parent 7091
a8ea2f110d87
child 7535
7ae4e26cb1e0
child 7829
24c446b2460d
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp	Tue Sep 02 15:03:57 2014 +0200
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp	Tue Sep 02 15:04:00 2014 +0200
     1.3 @@ -125,14 +125,6 @@
     1.4    count_region(mr, hr, marked_bytes_array, task_card_bm);
     1.5  }
     1.6  
     1.7 -// Counts the given memory region, which may be a single object, in the
     1.8 -// task/worker counting data structures for the given worker id.
     1.9 -inline void ConcurrentMark::count_region(MemRegion mr, uint worker_id) {
    1.10 -  HeapWord* addr = mr.start();
    1.11 -  HeapRegion* hr = _g1h->heap_region_containing_raw(addr);
    1.12 -  count_region(mr, hr, worker_id);
    1.13 -}
    1.14 -
    1.15  // Counts the given object in the given task/worker counting data structures.
    1.16  inline void ConcurrentMark::count_object(oop obj,
    1.17                                           HeapRegion* hr,
    1.18 @@ -142,17 +134,6 @@
    1.19    count_region(mr, hr, marked_bytes_array, task_card_bm);
    1.20  }
    1.21  
    1.22 -// Counts the given object in the task/worker counting data
    1.23 -// structures for the given worker id.
    1.24 -inline void ConcurrentMark::count_object(oop obj,
    1.25 -                                         HeapRegion* hr,
    1.26 -                                         uint worker_id) {
    1.27 -  size_t* marked_bytes_array = count_marked_bytes_array_for(worker_id);
    1.28 -  BitMap* task_card_bm = count_card_bitmap_for(worker_id);
    1.29 -  HeapWord* addr = (HeapWord*) obj;
    1.30 -  count_object(obj, hr, marked_bytes_array, task_card_bm);
    1.31 -}
    1.32 -
    1.33  // Attempts to mark the given object and, if successful, counts
    1.34  // the object in the given task/worker counting structures.
    1.35  inline bool ConcurrentMark::par_mark_and_count(oop obj,
    1.36 @@ -184,63 +165,6 @@
    1.37    return false;
    1.38  }
    1.39  
    1.40 -// Attempts to mark the given object and, if successful, counts
    1.41 -// the object in the task/worker counting structures for the
    1.42 -// given worker id.
    1.43 -inline bool ConcurrentMark::par_mark_and_count(oop obj,
    1.44 -                                               HeapRegion* hr,
    1.45 -                                               uint worker_id) {
    1.46 -  HeapWord* addr = (HeapWord*)obj;
    1.47 -  if (_nextMarkBitMap->parMark(addr)) {
    1.48 -    // Update the task specific count data for the object.
    1.49 -    count_object(obj, hr, worker_id);
    1.50 -    return true;
    1.51 -  }
    1.52 -  return false;
    1.53 -}
    1.54 -
    1.55 -// As above - but we don't know the heap region containing the
    1.56 -// object and so have to supply it.
    1.57 -inline bool ConcurrentMark::par_mark_and_count(oop obj, uint worker_id) {
    1.58 -  HeapWord* addr = (HeapWord*)obj;
    1.59 -  HeapRegion* hr = _g1h->heap_region_containing_raw(addr);
    1.60 -  return par_mark_and_count(obj, hr, worker_id);
    1.61 -}
    1.62 -
    1.63 -// Similar to the above routine but we already know the size, in words, of
    1.64 -// the object that we wish to mark/count
    1.65 -inline bool ConcurrentMark::par_mark_and_count(oop obj,
    1.66 -                                               size_t word_size,
    1.67 -                                               uint worker_id) {
    1.68 -  HeapWord* addr = (HeapWord*)obj;
    1.69 -  if (_nextMarkBitMap->parMark(addr)) {
    1.70 -    // Update the task specific count data for the object.
    1.71 -    MemRegion mr(addr, word_size);
    1.72 -    count_region(mr, worker_id);
    1.73 -    return true;
    1.74 -  }
    1.75 -  return false;
    1.76 -}
    1.77 -
    1.78 -// Unconditionally mark the given object, and unconditinally count
    1.79 -// the object in the counting structures for worker id 0.
    1.80 -// Should *not* be called from parallel code.
    1.81 -inline bool ConcurrentMark::mark_and_count(oop obj, HeapRegion* hr) {
    1.82 -  HeapWord* addr = (HeapWord*)obj;
    1.83 -  _nextMarkBitMap->mark(addr);
    1.84 -  // Update the task specific count data for the object.
    1.85 -  count_object(obj, hr, 0 /* worker_id */);
    1.86 -  return true;
    1.87 -}
    1.88 -
    1.89 -// As above - but we don't have the heap region containing the
    1.90 -// object, so we have to supply it.
    1.91 -inline bool ConcurrentMark::mark_and_count(oop obj) {
    1.92 -  HeapWord* addr = (HeapWord*)obj;
    1.93 -  HeapRegion* hr = _g1h->heap_region_containing_raw(addr);
    1.94 -  return mark_and_count(obj, hr);
    1.95 -}
    1.96 -
    1.97  inline bool CMBitMapRO::iterate(BitMapClosure* cl, MemRegion mr) {
    1.98    HeapWord* start_addr = MAX2(startWord(), mr.start());
    1.99    HeapWord* end_addr = MIN2(endWord(), mr.end());

mercurial