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"); |