< prev index next >

src/hotspot/share/gc/z/zLiveMap.cpp

Print this page

103 
104         log_trace(gc)("Mark segment reset contention, thread: " PTR_FORMAT " (%s), map: " PTR_FORMAT ", segment: " SIZE_FORMAT,
105                       ZThread::id(), ZThread::name(), p2i(this), segment);
106       }
107     }
108 
109     // Segment is live
110     return;
111   }
112 
113   // Segment claimed, clear it
114   const BitMap::idx_t start_index = segment_start(segment);
115   const BitMap::idx_t end_index   = segment_end(segment);
116   if (segment_size() / BitsPerWord >= 32) {
117     _bitmap.clear_large_range(start_index, end_index);
118   } else {
119     _bitmap.clear_range(start_index, end_index);
120   }
121 
122   // Set live bit
123   const bool success = set_segment_live_atomic(segment);
124   assert(success, "Should never fail");
125 }
126 
127 void ZLiveMap::resize(uint32_t size) {
128   const size_t new_bitmap_size = bitmap_size(size, nsegments);
129   if (_bitmap.size() != new_bitmap_size) {
130     _bitmap.reinitialize(new_bitmap_size, false /* clear */);
131     _segment_shift = exact_log2(segment_size());
132   }
133 }

103 
104         log_trace(gc)("Mark segment reset contention, thread: " PTR_FORMAT " (%s), map: " PTR_FORMAT ", segment: " SIZE_FORMAT,
105                       ZThread::id(), ZThread::name(), p2i(this), segment);
106       }
107     }
108 
109     // Segment is live
110     return;
111   }
112 
113   // Segment claimed, clear it
114   const BitMap::idx_t start_index = segment_start(segment);
115   const BitMap::idx_t end_index   = segment_end(segment);
116   if (segment_size() / BitsPerWord >= 32) {
117     _bitmap.clear_large_range(start_index, end_index);
118   } else {
119     _bitmap.clear_range(start_index, end_index);
120   }
121 
122   // Set live bit
123   const bool success = set_segment_live(segment);
124   assert(success, "Should never fail");
125 }
126 
127 void ZLiveMap::resize(uint32_t size) {
128   const size_t new_bitmap_size = bitmap_size(size, nsegments);
129   if (_bitmap.size() != new_bitmap_size) {
130     _bitmap.reinitialize(new_bitmap_size, false /* clear */);
131     _segment_shift = exact_log2(segment_size());
132   }
133 }
< prev index next >