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());