diff -r d58442b8abc1 -r 3e31a8beaae4 src/hotspot/share/gc/g1/sparsePRT.cpp --- a/src/hotspot/share/gc/g1/sparsePRT.cpp Thu Jun 27 03:33:44 2019 +0200 +++ b/src/hotspot/share/gc/g1/sparsePRT.cpp Thu Jun 27 11:48:32 2019 +0200 @@ -275,6 +275,19 @@ return false; } +bool RSHashTableBucketIter::has_next(SparsePRTEntry*& entry) { + while (_bl_ind == RSHashTable::NullEntry) { + if (_tbl_ind == (int)_rsht->capacity() - 1) { + return false; + } + _tbl_ind++; + _bl_ind = _rsht->_buckets[_tbl_ind]; + } + entry = _rsht->entry(_bl_ind); + _bl_ind = entry->next_index(); + return true; +} + bool RSHashTable::contains_card(RegionIdx_t region_index, CardIdx_t card_index) const { SparsePRTEntry* e = get_entry(region_index); return (e != NULL && e->contains_card(card_index));