equal
deleted
inserted
replaced
534 |
534 |
535 inline void ParallelCompactData::RegionData::decrement_destination_count() |
535 inline void ParallelCompactData::RegionData::decrement_destination_count() |
536 { |
536 { |
537 assert(_dc_and_los < dc_claimed, "already claimed"); |
537 assert(_dc_and_los < dc_claimed, "already claimed"); |
538 assert(_dc_and_los >= dc_one, "count would go negative"); |
538 assert(_dc_and_los >= dc_one, "count would go negative"); |
539 Atomic::add(dc_mask, &_dc_and_los); |
539 Atomic::add(&_dc_and_los, dc_mask); |
540 } |
540 } |
541 |
541 |
542 inline HeapWord* ParallelCompactData::RegionData::data_location() const |
542 inline HeapWord* ParallelCompactData::RegionData::data_location() const |
543 { |
543 { |
544 DEBUG_ONLY(return _data_location;) |
544 DEBUG_ONLY(return _data_location;) |
574 } |
574 } |
575 |
575 |
576 inline void ParallelCompactData::RegionData::add_live_obj(size_t words) |
576 inline void ParallelCompactData::RegionData::add_live_obj(size_t words) |
577 { |
577 { |
578 assert(words <= (size_t)los_mask - live_obj_size(), "overflow"); |
578 assert(words <= (size_t)los_mask - live_obj_size(), "overflow"); |
579 Atomic::add(static_cast<region_sz_t>(words), &_dc_and_los); |
579 Atomic::add(&_dc_and_los, static_cast<region_sz_t>(words)); |
580 } |
580 } |
581 |
581 |
582 inline void ParallelCompactData::RegionData::set_highest_ref(HeapWord* addr) |
582 inline void ParallelCompactData::RegionData::set_highest_ref(HeapWord* addr) |
583 { |
583 { |
584 #ifdef ASSERT |
584 #ifdef ASSERT |