272 // Ensure that "_cur" and "_next" point to the same table. |
272 // Ensure that "_cur" and "_next" point to the same table. |
273 void cleanup(); |
273 void cleanup(); |
274 |
274 |
275 // Clean up all tables on the expanded list. Called single threaded. |
275 // Clean up all tables on the expanded list. Called single threaded. |
276 static void cleanup_all(); |
276 static void cleanup_all(); |
277 RSHashTable* next() const { return _next; } |
277 RSHashTable* cur() const { return _cur; } |
278 |
278 |
279 |
279 |
280 void init_iterator(SparsePRTIter* sprt_iter); |
280 void init_iterator(SparsePRTIter* sprt_iter); |
281 |
281 |
282 static void add_to_expanded_list(SparsePRT* sprt); |
282 static void add_to_expanded_list(SparsePRT* sprt); |
298 SparsePRTIter(size_t heap_bot_card_ind) : |
298 SparsePRTIter(size_t heap_bot_card_ind) : |
299 /* RSHashTable:: */RSHashTableIter(heap_bot_card_ind) |
299 /* RSHashTable:: */RSHashTableIter(heap_bot_card_ind) |
300 {} |
300 {} |
301 |
301 |
302 void init(const SparsePRT* sprt) { |
302 void init(const SparsePRT* sprt) { |
303 RSHashTableIter::init(sprt->next()); |
303 RSHashTableIter::init(sprt->cur()); |
304 } |
304 } |
305 bool has_next(size_t& card_index) { |
305 bool has_next(size_t& card_index) { |
306 return RSHashTableIter::has_next(card_index); |
306 return RSHashTableIter::has_next(card_index); |
307 } |
307 } |
308 }; |
308 }; |