hotspot/src/share/vm/gc_implementation/g1/concurrentMark.hpp
changeset 5350 cccf0925702e
parent 5344 f78ef2531f44
child 5547 f4b087cbb361
equal deleted inserted replaced
5349:02cc9df17a06 5350:cccf0925702e
     1 /*
     1 /*
     2  * Copyright 2001-2009 Sun Microsystems, Inc.  All Rights Reserved.
     2  * Copyright 2001-2010 Sun Microsystems, Inc.  All Rights Reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   731   void newCSet();
   731   void newCSet();
   732   // It registers a collection set heap region with CM. This is used
   732   // It registers a collection set heap region with CM. This is used
   733   // to determine whether any heap regions are located above the finger.
   733   // to determine whether any heap regions are located above the finger.
   734   void registerCSetRegion(HeapRegion* hr);
   734   void registerCSetRegion(HeapRegion* hr);
   735 
   735 
       
   736   // Registers the maximum region-end associated with a set of
       
   737   // regions with CM. Again this is used to determine whether any
       
   738   // heap regions are located above the finger.
       
   739   void register_collection_set_finger(HeapWord* max_finger) {
       
   740     // max_finger is the highest heap region end of the regions currently
       
   741     // contained in the collection set. If this value is larger than
       
   742     // _min_finger then we need to gray objects.
       
   743     // This routine is like registerCSetRegion but for an entire
       
   744     // collection of regions.
       
   745     if (max_finger > _min_finger)
       
   746       _should_gray_objects = true;
       
   747   }
       
   748 
   736   // Returns "true" if at least one mark has been completed.
   749   // Returns "true" if at least one mark has been completed.
   737   bool at_least_one_mark_complete() { return _at_least_one_mark_complete; }
   750   bool at_least_one_mark_complete() { return _at_least_one_mark_complete; }
   738 
   751 
   739   bool isMarked(oop p) const {
   752   bool isMarked(oop p) const {
   740     assert(p != NULL && p->is_oop(), "expected an oop");
   753     assert(p != NULL && p->is_oop(), "expected an oop");