< prev index next >

src/hotspot/share/gc/parallel/psParallelCompact.cpp

Print this page
rev 57190 : [mq]: shadow-regions.5
rev 57191 : [mq]: shadow-regions.5_to_6
rev 57192 : imported patch shadow-regions-final-fixes

@@ -3132,11 +3132,10 @@
 
     if (status == ParMarkBitMap::would_overflow) {
       // The last object did not fit.  Note that interior oop updates were
       // deferred, then copy enough of the object to fill the region.
       region_ptr->set_deferred_obj_addr(closure.destination());
-
       status = closure.copy_until_full(); // copies from closure.source()
 
       decrement_destination_counts(cm, src_space_id, src_region_idx,
                                    closure.source());
       closure.complete_region(cm, dest_addr, region_ptr);

@@ -3169,11 +3168,11 @@
 void PSParallelCompact::fill_and_update_shadow_region(ParCompactionManager* cm, size_t region_idx)
 {
   // Get a shadow region first
   ParallelCompactData& sd = summary_data();
   RegionData* const region_ptr = sd.region(region_idx);
-  size_t shadow_region = cm->pop_shadow_region_mt_safe(region_ptr);
+  size_t shadow_region = ParCompactionManager::pop_shadow_region_mt_safe(region_ptr);
   // The InvalidShadow return value indicates the corresponding heap region is available,
   // so use MoveAndUpdateClosure to fill the normal region. Otherwise, use
   // MoveAndUpdateShadowClosure to fill the acquired shadow region.
   if (shadow_region == cm->InvalidShadow) {
     MoveAndUpdateClosure cl(mark_bitmap(), cm, region_idx);

@@ -3350,11 +3349,11 @@
   update_state(words);
 }
 
 void MoveAndUpdateClosure::complete_region(ParCompactionManager *cm, HeapWord *dest_addr,
                                            PSParallelCompact::RegionData *region_ptr) {
-  assert(region_ptr->shadow_state() == ParallelCompactData::RegionData::FinishedShadow, "Region should be finished");
+  assert(region_ptr->shadow_state() == ParallelCompactData::RegionData::NormalRegion, "Region should be finished");
   region_ptr->set_completed();
 }
 
 ParMarkBitMapClosure::IterationStatus
 MoveAndUpdateClosure::do_addr(HeapWord* addr, size_t words) {

@@ -3388,11 +3387,11 @@
   return is_full() ? ParMarkBitMap::full : ParMarkBitMap::incomplete;
 }
 
 void MoveAndUpdateShadowClosure::complete_region(ParCompactionManager *cm, HeapWord *dest_addr,
                                                  PSParallelCompact::RegionData *region_ptr) {
-  assert(region_ptr->shadow_state() == ParallelCompactData::RegionData::Shadow, "Region should be shadow");
+  assert(region_ptr->shadow_state() == ParallelCompactData::RegionData::ShadowRegion, "Region should be shadow");
   // Record the shadow region index
   region_ptr->set_shadow_region(_shadow);
   // Mark the shadow region as filled to indicate the data is ready to be
   // copied back
   region_ptr->mark_filled();
< prev index next >