src/hotspot/share/gc/parallel/psParallelCompact.cpp
changeset 59249 29b0d0b61615
parent 59008 333c2b653434
equal deleted inserted replaced
59248:e92153ed8bdc 59249:29b0d0b61615
   530   const size_t obj_ofs = pointer_delta(addr, _region_start);
   530   const size_t obj_ofs = pointer_delta(addr, _region_start);
   531   const size_t beg_region = obj_ofs >> Log2RegionSize;
   531   const size_t beg_region = obj_ofs >> Log2RegionSize;
   532   const size_t end_region = (obj_ofs + len - 1) >> Log2RegionSize;
   532   const size_t end_region = (obj_ofs + len - 1) >> Log2RegionSize;
   533 
   533 
   534   DEBUG_ONLY(Atomic::inc(&add_obj_count);)
   534   DEBUG_ONLY(Atomic::inc(&add_obj_count);)
   535   DEBUG_ONLY(Atomic::add(len, &add_obj_size);)
   535   DEBUG_ONLY(Atomic::add(&add_obj_size, len);)
   536 
   536 
   537   if (beg_region == end_region) {
   537   if (beg_region == end_region) {
   538     // All in one region.
   538     // All in one region.
   539     _region_data[beg_region].add_live_obj(len);
   539     _region_data[beg_region].add_live_obj(len);
   540     return;
   540     return;
  2447     assert(_insert_index < _size, "too small backing array");
  2447     assert(_insert_index < _size, "too small backing array");
  2448     _backing_array[_insert_index++] = value;
  2448     _backing_array[_insert_index++] = value;
  2449   }
  2449   }
  2450 
  2450 
  2451   bool try_claim(PSParallelCompact::UpdateDensePrefixTask& reference) {
  2451   bool try_claim(PSParallelCompact::UpdateDensePrefixTask& reference) {
  2452     uint claimed = Atomic::add(1u, &_counter) - 1; // -1 is so that we start with zero
  2452     uint claimed = Atomic::add(&_counter, 1u) - 1; // -1 is so that we start with zero
  2453     if (claimed < _insert_index) {
  2453     if (claimed < _insert_index) {
  2454       reference = _backing_array[claimed];
  2454       reference = _backing_array[claimed];
  2455       return true;
  2455       return true;
  2456     } else {
  2456     } else {
  2457       return false;
  2457       return false;