equal
deleted
inserted
replaced
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; |