comparison src/share/vm/gc_implementation/g1/sparsePRT.hpp @ 549:fe3d7c11b4b7

6700941: G1: allocation spec missing for some G1 classes Reviewed-by: tonyp
author apetrusenko
date Tue, 10 Feb 2009 18:39:09 +0300
parents 37f87013dfd8
children 0fbdb4381b99 0db4adb6e914
comparison
equal deleted inserted replaced
548:773234c55e8c 549:fe3d7c11b4b7
31 // unsynchronized reads/iterations, as long as expansions caused by 31 // unsynchronized reads/iterations, as long as expansions caused by
32 // insertions only enqueue old versions for deletions, but do not delete 32 // insertions only enqueue old versions for deletions, but do not delete
33 // old versions synchronously. 33 // old versions synchronously.
34 34
35 35
36 class SparsePRTEntry { 36 class SparsePRTEntry: public CHeapObj {
37 public: 37 public:
38 enum SomePublicConstants { 38 enum SomePublicConstants {
39 CardsPerEntry = (short)4, 39 CardsPerEntry = (short)4,
40 NullEntry = (short)-1, 40 NullEntry = (short)-1,
41 DeletedEntry = (short)-2 41 DeletedEntry = (short)-2
165 165
166 166
167 }; 167 };
168 168
169 // ValueObj because will be embedded in HRRS iterator. 169 // ValueObj because will be embedded in HRRS iterator.
170 class RSHashTableIter: public CHeapObj { 170 class RSHashTableIter VALUE_OBJ_CLASS_SPEC {
171 short _tbl_ind; 171 short _tbl_ind;
172 short _bl_ind; 172 short _bl_ind;
173 short _card_ind; 173 short _card_ind;
174 RSHashTable* _rsht; 174 RSHashTable* _rsht;
175 size_t _heap_bot_card_ind; 175 size_t _heap_bot_card_ind;
211 // Concurrent accesss to a SparsePRT must be serialized by some external 211 // Concurrent accesss to a SparsePRT must be serialized by some external
212 // mutex. 212 // mutex.
213 213
214 class SparsePRTIter; 214 class SparsePRTIter;
215 215
216 class SparsePRT : public CHeapObj { 216 class SparsePRT VALUE_OBJ_CLASS_SPEC {
217 // Iterations are done on the _cur hash table, since they only need to 217 // Iterations are done on the _cur hash table, since they only need to
218 // see entries visible at the start of a collection pause. 218 // see entries visible at the start of a collection pause.
219 // All other operations are done using the _next hash table. 219 // All other operations are done using the _next hash table.
220 RSHashTable* _cur; 220 RSHashTable* _cur;
221 RSHashTable* _next; 221 RSHashTable* _next;