Mercurial > hg > truffle
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; |