--- old/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Wed Nov 8 08:12:28 2017 +++ new/src/hotspot/share/gc/g1/g1CollectedHeap.cpp Wed Nov 8 08:12:27 2017 @@ -2630,13 +2630,9 @@ size_t G1CollectedHeap::pending_card_num() { size_t extra_cards = 0; - { - ThreadsListHandle tlh; - JavaThreadIterator jti(tlh.list()); - for (JavaThread *curr = jti.first(); curr != NULL; curr = jti.next()) { - DirtyCardQueue& dcq = curr->dirty_card_queue(); - extra_cards += dcq.size(); - } + for (JavaThreadIteratorWithHandle jtiwh; JavaThread *curr = jtiwh.next(); ) { + DirtyCardQueue& dcq = curr->dirty_card_queue(); + extra_cards += dcq.size(); } DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); size_t buffer_size = dcqs.buffer_size();