< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp

Print this page

        

*** 95,105 **** jint saved_current = _current_index; size_t index = (size_t)saved_current; while(index < num_regions) { if (_set->is_in(index)) { ! jint cur = Atomic::cmpxchg((jint)(index + 1), &_current_index, saved_current); assert(cur >= (jint)saved_current, "Must move forward"); if (cur == saved_current) { assert(_set->is_in(index), "Invariant"); return _heap->get_region(index); } else { --- 95,105 ---- jint saved_current = _current_index; size_t index = (size_t)saved_current; while(index < num_regions) { if (_set->is_in(index)) { ! jint cur = Atomic::cmpxchg(&_current_index, saved_current, (jint)(index + 1)); assert(cur >= (jint)saved_current, "Must move forward"); if (cur == saved_current) { assert(_set->is_in(index), "Invariant"); return _heap->get_region(index); } else {
< prev index next >