equal
deleted
inserted
replaced
241 return; |
241 return; |
242 } |
242 } |
243 |
243 |
244 bool marked_as_dirty = Atomic::cmpxchg(Dirty, &_in_dirty_region_buffer[region], Clean) == Clean; |
244 bool marked_as_dirty = Atomic::cmpxchg(Dirty, &_in_dirty_region_buffer[region], Clean) == Clean; |
245 if (marked_as_dirty) { |
245 if (marked_as_dirty) { |
246 size_t allocated = Atomic::add(1, &_cur_dirty_region) - 1; |
246 size_t allocated = Atomic::add(1u, &_cur_dirty_region) - 1; |
247 _dirty_region_buffer[allocated] = region; |
247 _dirty_region_buffer[allocated] = region; |
248 } |
248 } |
249 } |
249 } |
250 |
250 |
251 HeapWord* scan_top(uint region_idx) const { |
251 HeapWord* scan_top(uint region_idx) const { |