< prev index next >


concurrent root iterator
 void ZHeapIterator::objects_do(ObjectClosure* cl) {
   ZHeapIteratorRootOopClosure root_cl(this, cl);
   ZRootsIterator roots;
+  ZConcurrentRootsIterator concurrent_roots;
   // Follow roots. Note that we also visit the JVMTI weak tag map
   // as if they were strong roots to make sure we visit all tagged
   // objects, even those that might now have become unreachable.
   // If we didn't do this the user would have expected to see
   // ObjectFree events for unreachable objects in the tag map.
   roots.oops_do(&root_cl, true /* visit_jvmti_weak_export */);
+  concurrent_roots.oops_do(&root_cl);
< prev index next >