< prev index next >

src/hotspot/share/gc/parallel/psParallelCompact.hpp

Print this page

        

*** 582,600 **** inline void ParallelCompactData::RegionData::set_highest_ref(HeapWord* addr) { #ifdef ASSERT HeapWord* tmp = _highest_ref; while (addr > tmp) { ! tmp = Atomic::cmpxchg(addr, &_highest_ref, tmp); } #endif // #ifdef ASSERT } inline bool ParallelCompactData::RegionData::claim() { const region_sz_t los = static_cast<region_sz_t>(live_obj_size()); ! const region_sz_t old = Atomic::cmpxchg(dc_claimed | los, &_dc_and_los, los); return old == los; } inline ParallelCompactData::RegionData* ParallelCompactData::region(size_t region_idx) const --- 582,600 ---- inline void ParallelCompactData::RegionData::set_highest_ref(HeapWord* addr) { #ifdef ASSERT HeapWord* tmp = _highest_ref; while (addr > tmp) { ! tmp = Atomic::cmpxchg(&_highest_ref, tmp, addr); } #endif // #ifdef ASSERT } inline bool ParallelCompactData::RegionData::claim() { const region_sz_t los = static_cast<region_sz_t>(live_obj_size()); ! const region_sz_t old = Atomic::cmpxchg(&_dc_and_los, los, dc_claimed | los); return old == los; } inline ParallelCompactData::RegionData* ParallelCompactData::region(size_t region_idx) const
< prev index next >