8261500: Shenandoah: reconsider region live data memory ordering

Reviewed-by: zgu
This commit is contained in:
Aleksey Shipilev 2021-02-15 08:44:20 +00:00
parent df0897ea57
commit c6eedda89e

View File

@ -80,7 +80,7 @@ inline void ShenandoahHeapRegion::increase_live_data_gc_words(size_t s) {
}
inline void ShenandoahHeapRegion::internal_increase_live_data(size_t s) {
size_t new_live_data = Atomic::add(&_live_data, s);
size_t new_live_data = Atomic::add(&_live_data, s, memory_order_relaxed);
#ifdef ASSERT
size_t live_bytes = new_live_data * HeapWordSize;
size_t used_bytes = used();
@ -90,11 +90,11 @@ inline void ShenandoahHeapRegion::internal_increase_live_data(size_t s) {
}
inline void ShenandoahHeapRegion::clear_live_data() {
Atomic::release_store_fence(&_live_data, (size_t)0);
Atomic::store(&_live_data, (size_t)0);
}
inline size_t ShenandoahHeapRegion::get_live_data_words() const {
return Atomic::load_acquire(&_live_data);
return Atomic::load(&_live_data);
}
inline size_t ShenandoahHeapRegion::get_live_data_bytes() const {