comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 8506:c3657d00e343

-Merge with tip
author Christos Kotselidis <christos.kotselidis@oracle.com>
date Thu, 21 Mar 2013 14:11:13 +0100
parents dee7c8b578c7 ad747ee9d0b1
children b9a918201d47
comparison
equal deleted inserted replaced
8505:dee7c8b578c7 8506:c3657d00e343
35 #include "gc_implementation/shared/hSpaceCounters.hpp" 35 #include "gc_implementation/shared/hSpaceCounters.hpp"
36 #include "gc_implementation/shared/parGCAllocBuffer.hpp" 36 #include "gc_implementation/shared/parGCAllocBuffer.hpp"
37 #include "memory/barrierSet.hpp" 37 #include "memory/barrierSet.hpp"
38 #include "memory/memRegion.hpp" 38 #include "memory/memRegion.hpp"
39 #include "memory/sharedHeap.hpp" 39 #include "memory/sharedHeap.hpp"
40 #include "utilities/stack.hpp"
40 41
41 // A "G1CollectedHeap" is an implementation of a java heap for HotSpot. 42 // A "G1CollectedHeap" is an implementation of a java heap for HotSpot.
42 // It uses the "Garbage First" heap organization and algorithm, which 43 // It uses the "Garbage First" heap organization and algorithm, which
43 // may combine concurrent marking with parallel, incremental compaction of 44 // may combine concurrent marking with parallel, incremental compaction of
44 // heap subsets that will yield large amounts of garbage. 45 // heap subsets that will yield large amounts of garbage.
881 882
882 // Failed evacuations cause some logical from-space objects to have 883 // Failed evacuations cause some logical from-space objects to have
883 // forwarding pointers to themselves. Reset them. 884 // forwarding pointers to themselves. Reset them.
884 void remove_self_forwarding_pointers(); 885 void remove_self_forwarding_pointers();
885 886
886 // When one is non-null, so is the other. Together, they each pair is 887 // Together, these store an object with a preserved mark, and its mark value.
887 // an object with a preserved mark, and its mark value. 888 Stack<oop, mtGC> _objs_with_preserved_marks;
888 GrowableArray<oop>* _objs_with_preserved_marks; 889 Stack<markOop, mtGC> _preserved_marks_of_objs;
889 GrowableArray<markOop>* _preserved_marks_of_objs;
890 890
891 // Preserve the mark of "obj", if necessary, in preparation for its mark 891 // Preserve the mark of "obj", if necessary, in preparation for its mark
892 // word being overwritten with a self-forwarding-pointer. 892 // word being overwritten with a self-forwarding-pointer.
893 void preserve_mark_if_necessary(oop obj, markOop m); 893 void preserve_mark_if_necessary(oop obj, markOop m);
894 894