src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
changeset 59247 56bf71d64d51
parent 59153 1152339c298a
child 59249 29b0d0b61615
equal deleted inserted replaced
59246:fcad92f425c5 59247:56bf71d64d51
   599 
   599 
   600   JFR_ONLY(ShenandoahJFRSupport::register_jfr_type_serializers());
   600   JFR_ONLY(ShenandoahJFRSupport::register_jfr_type_serializers());
   601 }
   601 }
   602 
   602 
   603 size_t ShenandoahHeap::used() const {
   603 size_t ShenandoahHeap::used() const {
   604   return OrderAccess::load_acquire(&_used);
   604   return Atomic::load_acquire(&_used);
   605 }
   605 }
   606 
   606 
   607 size_t ShenandoahHeap::committed() const {
   607 size_t ShenandoahHeap::committed() const {
   608   OrderAccess::acquire();
   608   OrderAccess::acquire();
   609   return _committed;
   609   return _committed;
   622 void ShenandoahHeap::increase_used(size_t bytes) {
   622 void ShenandoahHeap::increase_used(size_t bytes) {
   623   Atomic::add(bytes, &_used);
   623   Atomic::add(bytes, &_used);
   624 }
   624 }
   625 
   625 
   626 void ShenandoahHeap::set_used(size_t bytes) {
   626 void ShenandoahHeap::set_used(size_t bytes) {
   627   OrderAccess::release_store_fence(&_used, bytes);
   627   Atomic::release_store_fence(&_used, bytes);
   628 }
   628 }
   629 
   629 
   630 void ShenandoahHeap::decrease_used(size_t bytes) {
   630 void ShenandoahHeap::decrease_used(size_t bytes) {
   631   assert(used() >= bytes, "never decrease heap size by more than we've left");
   631   assert(used() >= bytes, "never decrease heap size by more than we've left");
   632   Atomic::sub(bytes, &_used);
   632   Atomic::sub(bytes, &_used);
  2112 address ShenandoahHeap::gc_state_addr() {
  2112 address ShenandoahHeap::gc_state_addr() {
  2113   return (address) ShenandoahHeap::heap()->_gc_state.addr_of();
  2113   return (address) ShenandoahHeap::heap()->_gc_state.addr_of();
  2114 }
  2114 }
  2115 
  2115 
  2116 size_t ShenandoahHeap::bytes_allocated_since_gc_start() {
  2116 size_t ShenandoahHeap::bytes_allocated_since_gc_start() {
  2117   return OrderAccess::load_acquire(&_bytes_allocated_since_gc_start);
  2117   return Atomic::load_acquire(&_bytes_allocated_since_gc_start);
  2118 }
  2118 }
  2119 
  2119 
  2120 void ShenandoahHeap::reset_bytes_allocated_since_gc_start() {
  2120 void ShenandoahHeap::reset_bytes_allocated_since_gc_start() {
  2121   OrderAccess::release_store_fence(&_bytes_allocated_since_gc_start, (size_t)0);
  2121   Atomic::release_store_fence(&_bytes_allocated_since_gc_start, (size_t)0);
  2122 }
  2122 }
  2123 
  2123 
  2124 void ShenandoahHeap::set_degenerated_gc_in_progress(bool in_progress) {
  2124 void ShenandoahHeap::set_degenerated_gc_in_progress(bool in_progress) {
  2125   _degenerated_gc_in_progress.set_cond(in_progress);
  2125   _degenerated_gc_in_progress.set_cond(in_progress);
  2126 }
  2126 }