comparison src/share/vm/gc_implementation/g1/concurrentMark.hpp @ 1394:1316cec51b4d

6819061: G1: eliminate serial Other times that are proportional to the collection set length 6871109: G1: remove the concept of the scan only prefix Summary: Removed scan only regions and associated code. The young portion of the collection set is now constructed incrementally - when a young region is retired as the current allocation region it is added to the collection set. Reviewed-by: apetrusenko, iveresov, tonyp
author johnc
date Thu, 22 Apr 2010 10:02:38 -0700
parents 7666957bc44d
children c18cbe5936b8
comparison
equal deleted inserted replaced
1393:6ecb6e6de3d6 1394:1316cec51b4d
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");