98 "size inconsistency"); |
98 "size inconsistency"); |
99 return _bmStartWord == (HeapWord*)(heap_rs.base()) && |
99 return _bmStartWord == (HeapWord*)(heap_rs.base()) && |
100 _bmWordSize == heap_rs.size()>>LogHeapWordSize; |
100 _bmWordSize == heap_rs.size()>>LogHeapWordSize; |
101 } |
101 } |
102 #endif |
102 #endif |
|
103 |
|
104 void CMBitMapRO::print_on_error(outputStream* st, const char* prefix) const { |
|
105 _bm.print_on_error(st, prefix); |
|
106 } |
103 |
107 |
104 bool CMBitMap::allocate(ReservedSpace heap_rs) { |
108 bool CMBitMap::allocate(ReservedSpace heap_rs) { |
105 _bmStartWord = (HeapWord*)(heap_rs.base()); |
109 _bmStartWord = (HeapWord*)(heap_rs.base()); |
106 _bmWordSize = heap_rs.size()/HeapWordSize; // heap_rs.size() is in bytes |
110 _bmWordSize = heap_rs.size()/HeapWordSize; // heap_rs.size() is in bytes |
107 ReservedSpace brs(ReservedSpace::allocation_align_size_up( |
111 ReservedSpace brs(ReservedSpace::allocation_align_size_up( |
3273 |
3277 |
3274 void ConcurrentMark::print_worker_threads_on(outputStream* st) const { |
3278 void ConcurrentMark::print_worker_threads_on(outputStream* st) const { |
3275 if (use_parallel_marking_threads()) { |
3279 if (use_parallel_marking_threads()) { |
3276 _parallel_workers->print_worker_threads_on(st); |
3280 _parallel_workers->print_worker_threads_on(st); |
3277 } |
3281 } |
|
3282 } |
|
3283 |
|
3284 void ConcurrentMark::print_on_error(outputStream* st) const { |
|
3285 st->print_cr("Marking Bits (Prev, Next): (CMBitMap*) " PTR_FORMAT ", (CMBitMap*) " PTR_FORMAT, |
|
3286 _prevMarkBitMap, _nextMarkBitMap); |
|
3287 _prevMarkBitMap->print_on_error(st, " Prev Bits: "); |
|
3288 _nextMarkBitMap->print_on_error(st, " Next Bits: "); |
3278 } |
3289 } |
3279 |
3290 |
3280 // We take a break if someone is trying to stop the world. |
3291 // We take a break if someone is trying to stop the world. |
3281 bool ConcurrentMark::do_yield_check(uint worker_id) { |
3292 bool ConcurrentMark::do_yield_check(uint worker_id) { |
3282 if (should_yield()) { |
3293 if (should_yield()) { |