< prev index next >

src/hotspot/share/gc/g1/dirtyCardQueue.cpp

Print this page
rev 47287 : Port 09.17.Thread_SMR_logging_update from JDK9 to JDK10
rev 47289 : eosterlund, stefank CR - refactor code into threadSMR.cpp and threadSMR.hpp
rev 47292 : stefank, coleenp CR - refactor most JavaThreadIterator usage to use JavaThreadIteratorWithHandle.

@@ -318,17 +318,13 @@
 void DirtyCardQueueSet::abandon_logs() {
   assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint.");
   clear();
   // Since abandon is done only at safepoints, we can safely manipulate
   // these queues.
-  {
-    ThreadsListHandle tlh;
-    JavaThreadIterator jti(tlh.list());
-    for (JavaThread* t = jti.first(); t != NULL; t = jti.next()) {
+  for (JavaThreadIteratorWithHandle jtiwh; JavaThread *t = jtiwh.next(); ) {
       t->dirty_card_queue().reset();
     }
-  }
   shared_dirty_card_queue()->reset();
 }
 
 void DirtyCardQueueSet::concatenate_log(DirtyCardQueue& dcq) {
   if (!dcq.is_empty()) {

@@ -341,16 +337,12 @@
   // the global list of logs.  Temporarily turn off the limit on the number
   // of outstanding buffers.
   int save_max_completed_queue = _max_completed_queue;
   _max_completed_queue = max_jint;
   assert(SafepointSynchronize::is_at_safepoint(), "Must be at safepoint.");
-  {
-    ThreadsListHandle tlh;
-    JavaThreadIterator jti(tlh.list());
-    for (JavaThread* t = jti.first(); t != NULL; t = jti.next()) {
+  for (JavaThreadIteratorWithHandle jtiwh; JavaThread *t = jtiwh.next(); ) {
       concatenate_log(t->dirty_card_queue());
     }
-  }
   concatenate_log(_shared_dirty_card_queue);
   // Restore the completed buffer queue limit.
   _max_completed_queue = save_max_completed_queue;
 }
< prev index next >