hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
changeset 5079 c8e827e5dc2b
parent 5035 0e498c4df637
child 5082 19e725a3d2eb
equal deleted inserted replaced
5078:e865c7385a24 5079:c8e827e5dc2b
  3702         // leave it there, when we restart this task, we will rescan
  3702         // leave it there, when we restart this task, we will rescan
  3703         // the object. It is easy to avoid this. We move the finger by
  3703         // the object. It is easy to avoid this. We move the finger by
  3704         // enough to point to the next possible object header (the
  3704         // enough to point to the next possible object header (the
  3705         // bitmap knows by how much we need to move it as it knows its
  3705         // bitmap knows by how much we need to move it as it knows its
  3706         // granularity).
  3706         // granularity).
  3707         move_finger_to(_nextMarkBitMap->nextWord(_finger));
  3707         assert(_finger < _region_limit, "invariant");
       
  3708         HeapWord* new_finger = _nextMarkBitMap->nextWord(_finger);
       
  3709         // Check if bitmap iteration was aborted while scanning the last object
       
  3710         if (new_finger >= _region_limit) {
       
  3711             giveup_current_region();
       
  3712         } else {
       
  3713             move_finger_to(new_finger);
       
  3714         }
  3708       }
  3715       }
  3709     }
  3716     }
  3710     // At this point we have either completed iterating over the
  3717     // At this point we have either completed iterating over the
  3711     // region we were holding on to, or we have aborted.
  3718     // region we were holding on to, or we have aborted.
  3712 
  3719