< prev index next >

src/hotspot/share/gc/z/zRootsIterator.hpp

Print this page

        

*** 23,42 **** --- 23,44 ---- #ifndef SHARE_GC_Z_ZROOTSITERATOR_HPP #define SHARE_GC_Z_ZROOTSITERATOR_HPP #include "gc/shared/oopStorageParState.hpp" + #include "gc/shared/oopStorageSetParState.hpp" #include "gc/shared/suspendibleThreadSet.hpp" #include "memory/allocation.hpp" #include "memory/iterator.hpp" #include "runtime/thread.hpp" #include "runtime/threadSMR.hpp" #include "utilities/globalDefinitions.hpp" class ZRootsIteratorClosure; typedef OopStorage::ParState<true /* concurrent */, false /* is_const */> ZOopStorageIterator; + typedef OopStorageSetStrongParState<true /* concurrent */, false /* is_const */> ZOopStorageSetIterator; template <typename T, void (T::*F)(ZRootsIteratorClosure*)> class ZSerialOopsDo { private: T* const _iter;
*** 132,151 **** void oops_do(ZRootsIteratorClosure* cl); }; class ZConcurrentRootsIterator { private: ! ZOopStorageIterator _jni_handles_iter; ! ZOopStorageIterator _vm_handles_iter; ! const int _cld_claim; ! void do_jni_handles(ZRootsIteratorClosure* cl); ! void do_vm_handles(ZRootsIteratorClosure* cl); void do_class_loader_data_graph(ZRootsIteratorClosure* cl); ! ZParallelOopsDo<ZConcurrentRootsIterator, &ZConcurrentRootsIterator::do_jni_handles> _jni_handles; ! ZParallelOopsDo<ZConcurrentRootsIterator, &ZConcurrentRootsIterator::do_vm_handles> _vm_handles; ZParallelOopsDo<ZConcurrentRootsIterator, &ZConcurrentRootsIterator::do_class_loader_data_graph> _class_loader_data_graph; public: ZConcurrentRootsIterator(int cld_claim); ~ZConcurrentRootsIterator(); --- 134,150 ---- void oops_do(ZRootsIteratorClosure* cl); }; class ZConcurrentRootsIterator { private: ! ZOopStorageSetIterator _oop_storage_set_iter; ! const int _cld_claim; ! void do_oop_storage_set(ZRootsIteratorClosure* cl); void do_class_loader_data_graph(ZRootsIteratorClosure* cl); ! ZParallelOopsDo<ZConcurrentRootsIterator, &ZConcurrentRootsIterator::do_oop_storage_set> _oop_storage_set; ZParallelOopsDo<ZConcurrentRootsIterator, &ZConcurrentRootsIterator::do_class_loader_data_graph> _class_loader_data_graph; public: ZConcurrentRootsIterator(int cld_claim); ~ZConcurrentRootsIterator();
< prev index next >