--- old/src/hotspot/share/gc/shared/collectedHeap.cpp Wed Nov 8 08:12:37 2017 +++ new/src/hotspot/share/gc/shared/collectedHeap.cpp Wed Nov 8 08:12:36 2017 @@ -551,12 +551,11 @@ const bool deferred = _defer_initial_card_mark; // The main thread starts allocating via a TLAB even before it // has added itself to the threads list at vm boot-up. - ThreadsListHandle tlh; - assert(!use_tlab || tlh.length() > 0, + JavaThreadIteratorWithHandle jtiwh; + assert(!use_tlab || jtiwh.length() > 0, "Attempt to fill tlabs before main thread has been added" " to threads list is doomed to failure!"); - JavaThreadIterator jti(tlh.list()); - for (JavaThread *thread = jti.first(); thread != NULL; thread = jti.next()) { + for (; JavaThread *thread = jtiwh.next(); ) { if (use_tlab) thread->tlab().make_parsable(retire_tlabs); #if defined(COMPILER2) || INCLUDE_JVMCI // The deferred store barriers must all have been flushed to the