Mercurial > hg > graal-compiler
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 |