src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp
changeset 59251 4cbfa5077d68
parent 59249 29b0d0b61615
child 59252 623722a6aeb9
equal deleted inserted replaced
59250:a6deb69743d4 59251:4cbfa5077d68
   189 }
   189 }
   190 
   190 
   191 void ShenandoahPacer::restart_with(size_t non_taxable_bytes, double tax_rate) {
   191 void ShenandoahPacer::restart_with(size_t non_taxable_bytes, double tax_rate) {
   192   size_t initial = (size_t)(non_taxable_bytes * tax_rate) >> LogHeapWordSize;
   192   size_t initial = (size_t)(non_taxable_bytes * tax_rate) >> LogHeapWordSize;
   193   STATIC_ASSERT(sizeof(size_t) <= sizeof(intptr_t));
   193   STATIC_ASSERT(sizeof(size_t) <= sizeof(intptr_t));
   194   Atomic::xchg((intptr_t)initial, &_budget);
   194   Atomic::xchg(&_budget, (intptr_t)initial);
   195   Atomic::store(&_tax_rate, tax_rate);
   195   Atomic::store(&_tax_rate, tax_rate);
   196   Atomic::inc(&_epoch);
   196   Atomic::inc(&_epoch);
   197 }
   197 }
   198 
   198 
   199 bool ShenandoahPacer::claim_for_alloc(size_t words, bool force) {
   199 bool ShenandoahPacer::claim_for_alloc(size_t words, bool force) {